Eval
Value = Eval ( Expression AS String [ , Context AS Collection ] ) AS Variant
评估一个表达式
Expression 并且返回表达式的值。该表达式可以使用几乎所有的操作和Gambas子程序。
可选项
Context 是一个必须包含
Expression 中每一个未定义标志的值的集合。
示例
DIM Context AS New Collection
Context["X"] = 2
Context["Y"] = "Gambas"
PRINT Eval("X * Len(Y)", Context)
赋值
通过用
LET关键字启动表达式,可以评估赋值。在这种情况下,将返回指定的值。
赋值表达式可以使用任意赋值操作,但是不能使用有返回的语句,诸如
OPEN、
NEW...
该赋值表达式可以使用几乎所有的操作和Gambas子程序。
示例
Dim Context AS New Collection
Context["X"] = "Liberation Serif"
Print Application.Font.ToString()
Print Eval("Let Application.Font = Font[X]", Context)
Print Application.Font.ToString()
Sans,10
(Font 0x8fae9e8)
Liberation Serif,10
多个表达式
自从 3.19
Expression 参数可以包含几个不同的表达式,前提是它们用换行符分隔。
然后返回最后一个表达式的值。
一次计算所有表达式比单独为每个表达式调用
Eval
更快。
参见