![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2003
Сообщений: 128
|
один из вариантов, конечно. но он не требует постоянного парсинга для каждого вычисления. дерево потом можно крутить сколько угодно, и менять значения переменных. шум, как я понял, дошёл до того, что на каждое вычисление нужен парсинг.
|
|
|||||
|
.grin! wuz here
|
в любом случае ф-цию придётся каждый раз вызывать.
а шум зашел из-за того что не работает eval("x*x"); |
|
|||||
|
Регистрация: Nov 2003
Сообщений: 128
|
в честь чего каждый-то? при создании нового выражения - да. при вычислении одного и того же несколько раз - не обязательно.
|
|
|||||
|
[+1.3 05.04.09]
|
Я думаю тебе нужно использовать Обратную польскую запись
![]()
__________________
Бойтесь китайцев, компы приносящих! |
|
|||||
|
Регистрация: Nov 2003
Сообщений: 128
|
блин, действительно польскую
склероз ![]() |
|
|||||
|
[+1 20.07.06]
[+1 04.08.2006] |
Подниму трэд. Практически та же байда.
Цитата из хэлпа: "...при ее помощи можно динамически преобразовывать строки в идентификаторы объектов, клипов и функций..." - эт про eval. суть в следующем. надо запускать функцию с параметром(ами), причем имя и параметры должны браться из строки. т.е. что-то типа: var str:String = "trase ('help')";
eval (str); //знаю, что бред ;)
function trase (txt)
{
trace(txt);
}
Спасибо!) |
|
|||||
|
[+1 20.07.06]
[+1 04.08.2006] |
упс, так сказать...
нашел решение сам. ![]() var f:String = "ff";
var str = eval ("tr")(f);
function tr (t)
{
if (t)
trace(t);
else
trace("no text");
}
![]() |
|
|||||
|
Регистрация: Apr 2006
Сообщений: 1
|
можно так
e = "x * x" f = eval(" function(x) {return " + e + "};") потом типа y = f(x) куда надо просто передаешь "x * x" но по-моему удобнее просто передать функцию |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|