Expression
继承
简要描述
用来存储并且可以执行表达式的类.
描述
这个表达式可以由任何的算术表达式、 内置的函数调用、 一个实例的方法调用、 或者一个内置类型结构调用构成。
一个使用内置数学函数表达式文本的例子可以这样: sqrt(pow(3,2) + pow(4,2))
.
在下面的例子里我们使用了一个 LineEdit 节点来写我们的表达式并显示结果.
onready var expression = Expression.new()
func _ready():
$LineEdit.connect("text_entered", self, "_on_text_entered")
func _on_text_entered(command):
var error = expression.parse(command, [])
if error != OK:
print(expression.get_error_text())
return
var result = expression.execute([], null, true)
if not expression.has_execute_failed():
$LineEdit.text = str(result)
方法
返回值类型 | 方法名称 |
---|---|
Variant | execute(inputs: Array = [], base_instance: Object = null, show_error: bool = true) |
String | get_error_text() const |
bool | has_execute_failed() const |
int | parse(expression: String, input_names: PoolStringArray = PoolStringArray( )) |
方法说明
- execute execute(inputs: Array = [], base_instance: Object = null, show_error: bool = true)
执行之前由方法 parse 解析的表达式并返回结果. 在使用返回的对象之前, 您应该通过调用方法 has_execute_failed来检查调用是否失败.
如果你在方法 parse 中定义了输入变量, 您可以在输入数组中以相同的顺序指定它们的值.
- get_error_text get_error_text() const
返回错误信息字符串如果方法 parse 调用失败.
- has_execute_failed has_execute_failed() const
返回 true
如果方法 execute 失败.
- parse parse(expression: String, input_names: PoolStringArray = PoolStringArray( ))
解析表达式并返回一个 Error 代码.
您可以选择指定可能出现在 input_names
表达式中的变量名, 以便在执行时绑定它们.