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
Hérite de : RefCounted < Object
Une classe qui enregistre une expression que vous pouvez exécuter.
Description
Une expression peut être faite de n'importe quelle opération arithmétique, d'appels de fonctions mathématiques intégrées, d'appels de méthode sur une instance donnée, ou de constructeurs de type intégrés.
Un exemple d'expression utilisant les fonctions mathématiques intégrées serait sqrt(pow(3,2) + pow(4,2)).
Dans l'exemple suivant nous utilisons un nœud LineEdit pour écrire notre expression et afficher le résultat.
var expression = Expression.new()
func _ready():
$LineEdit.connect("text_entered", self, "_on_text_entered")
func _on_text_entered(command):
var erreur = expression.parse(command, [])
if erreur != OK:
print(expression.get_error_text())
return
var resultat = expression.execute([], null, true)
if not expression.has_execute_failed():
$LineEdit.text = str(resultat)
private Expression _expression = new Expression();
public override void _Ready()
{
GetNode<LineEdit>("LineEdit").TextSubmitted += OnTextEntered;
}
private void OnTextEntered(string command)
{
Error erreur = _expression.Parse(command);
if (erreur != Error.Ok)
{
GD.Print(_expression.GetErrorText());
return;
}
Variant resultat = _expression.Execute();
if (!_expression.HasExecuteFailed())
{
GetNode<LineEdit>("LineEdit").Text = resultat.ToString();
}
}
Tutoriels
Méthodes
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()) |
Descriptions des méthodes
Variant execute(inputs: Array = [], base_instance: Object = null, show_error: bool = true, const_calls_only: bool = false) 🔗
Exécute l'expression qui a été précédemment parsée par parse() et renvoie le résultat. Avant d'utiliser l'objet renvoyé, vous devez vérifier si la méthode a échoué en appelant has_execute_failed().
Si vous définissez des variables d'entrée dans parse(), vous pouvez spécifier leurs valeurs dans le tableau "inputs", dans le même ordre.
String get_error_text() const 🔗
Renvoie le texte de l'erreur si parse() ou execute() a échoué.
bool has_execute_failed() const 🔗
Renvoie true si execute() a échoué.
Error parse(expression: String, input_names: PackedStringArray = PackedStringArray()) 🔗
Parse l'expression et renvoie un code d'erreur Error.
Vous pouvez en option spécifier des noms de variables qui peuvent apparaître dans l'expression avec input_names, afin que vous puissiez les lier lorsqu'elle est exécutée.