среда, мая 16, 2007

D.eval() - eval() для Flex

D.eval() (Дивал) - библиотека, позволяющая во Flex приложеняих исполнять текстовые строки как ActionScript-выражения. Выглядит он следующим образом:

import com.riaone.deval.D;
var six:int;
six = D.eval("4 + 2") as int;
six = D.evalToInt("var x=0; for(i=1;i<=3;++i)x+=i;return x");
six = D.evalToInt("a * b", {a:2, b:3});
six = D.evalToInt("f(5)", {f:function(x:int):int{return x+1}});
six = D.evalToInt("xml.@size*2", {xml:});
six = D.evalToInt('xml=; return xml.@size*2');


Язык, используемый в D.eval() - это Deval. Он поддерживает все AS3 выражения, включая E4X; он имеет доступ к AS3 классам и функциям, но сам их не задает. Типа, новый шаг в разработке Flex-приложений.

Загрузить можно здесь.

7 комментариев:

Junik комментирует...

Интересно, это новый шаг в разработке Flex-приложений вперед или назад...

linki комментирует...

хорошая библиотечка

janvarevvlad комментирует...

Если интересно, посмотрите XMLScriptEngine: http://blog.janvarev.ru/?p=5

Там тоже язык вычисления выражений в AS3, но на базе XML.

Анонимный комментирует...

у этой библионтеки есть один существенный минус - используется статический класс D. А это значит, что например нельзя производить вычисления с использованием одной и тоже функции но у разных инстансов класса. Т.е. кроме как 2 + 2 ничего серьезного не напишеш. Странно как разработчики могли не предуспотреть это.

Анонимный комментирует...

Да уж. Как говорится в устоявшемся выражении:
Благодаря нам в НАШИХ женщинах что-то есть.. по меньшей мере, 4 минуты в день.

Анонимный комментирует...

Да уж. Как говорится в устоявшемся выражении:
Мы уважаем своих экономических партнеров: америкосов, итальяшек и китаёз.

Анонимный комментирует...

Да уж. По поводу коментариев - навеяла на меня где-то услышанная фраза:
Именно в НАШЕЙ стране есть все, кроме 11 нормальных футболистов...