我需要传入一个在运行时得到评估的字符串。所以我可以这样写:
var foo = someEvalMethod ( "dataObject.someValue" )
而不是:
if ( argIn == "dataObject.someValue")
var foo = dataObject.someValue
}
有没有人对以下评估库有意见,或者对AS3有更好的评价?感谢:
AS3 eval by hurlant:
RIA 1的D.eval:
答案 0 :(得分:4)
据我所知,hurlant的 AS3 eval 是一个“真正的”编译器。它解析代码,生成字节码并将其注入到正在使用的Flash Player实例中(通过loadBytes()我猜)。
D.eval 具有相同的目的,但它不生成字节码,它解析表达式并通过自己的API动态执行它们。
我认为 D.eval是一个很好的候选人,因为你想要实现的目标。它不是一个功能齐全的编译器,但它有足够的API来涵盖许多简单的操作。除此之外,它是一个背后有公司的产品,这始终是一个很好的保证。
干杯!