Expression¶
Una clase que almacena una expresión que puedes ejecutar.
Descripción¶
Se puede hacer una expresión de cualquier operación aritmética, llamada de función matemática incorporada, llamada de método de una instancia pasada o llamada de construcción de tipo incorporado.
Un ejemplo de expresión de texto utilizando las funciones matemáticas incorporadas podría ser sqrt(pow(3,2) + pow(4,2))
.
En el siguiente ejemplo usamos un nodo LineEdit para escribir nuestra expresión y mostrar el resultado.
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)
Métodos¶
execute ( Array inputs=[ ], Object base_instance=null, bool show_error=true ) |
|
get_error_text ( ) const |
|
has_execute_failed ( ) const |
|
parse ( String expression, PoolStringArray input_names=PoolStringArray( ) ) |
Descripciones de Métodos¶
Ejecuta la expresión que fue previamente analizada por parse y devuelve el resultado. Antes de usar el objeto devuelto, debería comprobar si el método falló llamando a has_execute_failed.
Si ha definido las variables de entrada en parse, puede especificar sus valores en el array de entradas, en el mismo orden.
String get_error_text ( ) const
Devuelve el texto de error si el parse ha fallado.
bool has_execute_failed ( ) const
Devuelve true
si execute ha fallado.
Error parse ( String expression, PoolStringArray input_names=PoolStringArray( ) )
Analiza la expresión y devuelve un código Error.
Opcionalmente puedes especificar los nombres de las variables que pueden aparecer en la expresión con input_names
, para que puedas enlazarlas cuando se ejecute.