Size: a a a

2021 January 12

DT

D_d Tch in pro.js
но без спользования eval()
источник

D

Danila in pro.js
D_d Tch
Народ привет вопрос такой нужно написать функцию которая выполняет выражение типа '1 + 2 + 3';
Минусы, приоритет операторов, что-то такое нужно?
источник

D

Danila in pro.js
Или просто плюсы?
источник

DT

D_d Tch in pro.js
ну могут встречаться и минусы но без приоритетов операторов
источник

D

Danila in pro.js
D_d Tch
ну могут встречаться и минусы но без приоритетов операторов
Сплит, потом идёшь по стеку. Встретил операцию - делаешь
источник

DT

D_d Tch in pro.js
я пытался сначал разбить строку на массив типа
const exprArr = str.split(' ');
но вот дальше как итерировать правильно?
источник

IM

Ivan Minakov in pro.js
D_d Tch
Народ привет вопрос такой нужно написать функцию которая выполняет выражение типа '1 + 2 + 3';
const calculate = (str) => {
   const func = new Function(`return ${str}`)

   return func()
}

calculate('1 + 2 - 3')
источник

DT

D_d Tch in pro.js
че?
источник

DT

D_d Tch in pro.js
почему это работает?
источник

DT

D_d Tch in pro.js
и как? интересно, не могу понять
источник

D

Danila in pro.js
Ivan Minakov
const calculate = (str) => {
   const func = new Function(`return ${str}`)

   return func()
}

calculate('1 + 2 - 3')
По-сути это эвал
источник

DT

D_d Tch in pro.js
что делает new Function?
источник

F

For miles & mile... in pro.js
Danila
По-сути это эвал
+
источник

С

Славик in pro.js
D_d Tch
что делает new Function?
создает объект класса Function
источник

DT

D_d Tch in pro.js
вот да польще похоже на это
источник

DT

D_d Tch in pro.js
ну типа так не катит
источник

IM

Ivan Minakov in pro.js
Danila
По-сути это эвал
ага, но без использования eval же)
источник

DT

D_d Tch in pro.js
))) аххаа))
источник

DT

D_d Tch in pro.js
ну все равно
источник

DT

D_d Tch in pro.js
а если строка теперь типа;

'set a = 7; a + 1 + 2';
источник