Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Expression
Hereda: RefCounted < Object
Una clase que almacena una expresión que puedes ejecutar.
Descripción
An expression can be made of any arithmetic operation, built-in math function call, method call of a passed instance, or built-in type construction call.
An example expression text using the built-in math functions could be sqrt(pow(3, 2) + pow(4, 2)).
In the following example we use a LineEdit node to write our expression and show the result.
var expression = Expression.new()
func _ready():
$LineEdit.text_submitted.connect(self._on_text_submitted)
func _on_text_submitted(command):
var error = expression.parse(command)
if error != OK:
print(expression.get_error_text())
return
var result = expression.execute()
if not expression.has_execute_failed():
$LineEdit.text = str(result)
private Expression _expression = new Expression();
public override void _Ready()
{
GetNode<LineEdit>("LineEdit").TextSubmitted += OnTextEntered;
}
private void OnTextEntered(string command)
{
Error error = _expression.Parse(command);
if (error != Error.Ok)
{
GD.Print(_expression.GetErrorText());
return;
}
Variant result = _expression.Execute();
if (!_expression.HasExecuteFailed())
{
GetNode<LineEdit>("LineEdit").Text = result.ToString();
}
}
Tutoriales
Métodos
execute(inputs: Array = [], base_instance: Object = null, show_error: bool = true, const_calls_only: bool = false) |
|
get_error_text() const |
|
has_execute_failed() const |
|
parse(expression: String, input_names: PackedStringArray = PackedStringArray()) |
Descripciones de Métodos
Variant execute(inputs: Array = [], base_instance: Object = null, show_error: bool = true, const_calls_only: bool = false) 🔗
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 has definido las variables de entrada en parse(), puedes especificar sus valores en el array de entradas, en el mismo orden.
String get_error_text() const 🔗
Returns the error text if parse() or execute() has failed.
bool has_execute_failed() const 🔗
Devuelve true si execute() ha fallado.
Error parse(expression: String, input_names: PackedStringArray = PackedStringArray()) 🔗
Parses the expression and returns an Error code.
You can optionally specify names of variables that may appear in the expression with input_names, so that you can bind them when it gets executed.