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
Eredita: RefCounted < Object
Una classe che memorizza un'espressione che si può eseguire.
Descrizione
Un'espressione può essere composta da qualsiasi operazione aritmetica, chiamata di una funzione matematica integrata, chiamata di un metodo di un'istanza passata, oppure chiamata di creazione di un tipo integrato.
Un esempio di testo di un espressione che utilizza le funzioni matematiche integrate potrebbe essere sqrt(pow(3, 2) + pow(4, 2)).
Nell'esempio seguente utilizziamo un nodo LineEdit per scrivere la nostra espressione e mostrare il risultato.
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();
}
}
Tutorial
Metodi
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()) |
Descrizioni dei metodi
Variant execute(inputs: Array = [], base_instance: Object = null, show_error: bool = true, const_calls_only: bool = false) 🔗
Esegue l'espressione precedentemente analizzata da parse() e restituisce il risultato. Prima di utilizzare l'oggetto restituito, dovresti controllare se il metodo ha fallito chiamando has_execute_failed().
Se hai definito variabili di input in parse(), puoi specificare i loro valori nell'array inputs, nello stesso ordine.
String get_error_text() const 🔗
Restituisce il testo di errore se parse() o execute() ha fallito.
bool has_execute_failed() const 🔗
Restituisce true se execute() ha fallito.
Error parse(expression: String, input_names: PackedStringArray = PackedStringArray()) 🔗
Analizza l'espressione e restituisce un codice di Error.
Puoi facoltativamente specificare i nomi delle variabili che possono apparire nell'espressione con input_names, in modo da poterle associare quando viene eseguita.