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
Успадковує: RefCounted < Object
Клас, який зберігає вираз, ви можете виконати.
Опис
Вираз може складатися з будь-якої арифметичної операції, виклику вбудованої математичної функції, виклику методу переданого екземпляра або виклику вбудованої конструкції типу.
Прикладом тексту виразу з використанням вбудованих математичних функцій може бути sqrt(pow(3, 2) + pow(4, 2)).
У наступному прикладі ми використовуємо вузол LineEdit, щоб написати наш вираз і показати результат.
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 помилка != OK:
print(expression.get_error_text())
return
var result = expression.execute()
if no 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)
{
Erorr error = _expression.Parse(command);
if (error != Erorr. Ok)
{
GD.Print(_expression.GetErrorText());
return;
}
Variant result = _expression.Execute();
if (!_expression.HasExecuteFailed())
{
GetNode<LineEdit>("LineEdit").Text = result.ToString();
}
}
Посібники
Методи
Variant |
execute(inputs: Array = [], base_instance: Object = null, show_error: bool = true, const_calls_only: bool = false) |
String |
get_error_text() const |
has_execute_failed() const |
|
parse(expression: String, input_names: PackedStringArray = PackedStringArray()) |
Описи методів
Variant execute(inputs: Array = [], base_instance: Object = null, show_error: bool = true, const_calls_only: bool = false) 🔗
Виконує вираз, який раніше був проаналізований методом parse(), та повертає результат. Перш ніж використовувати повернутий об'єкт, слід перевірити, чи не виникла помилка методу, викликавши його has_execute_failed().
Якщо ви визначили вхідні змінні в parse(), ви можете вказати їхні значення в масиві inputs у тому ж порядку.
String get_error_text() const 🔗
Повертає текст помилки, якщо parse() або execute() не вдалося.
bool has_execute_failed() const 🔗
Повертає true, якщо execute() не вдалося.
Error parse(expression: String, input_names: PackedStringArray = PackedStringArray()) 🔗
Розбирає вираз і повертає код Error.
За потреби можна вказати імена змінних, які можуть з'являтися у виразі, за допомогою input_names. щоб ви могли зв'язати їх під час виконання.