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.

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)

Посібники

Методи

Variant

execute(inputs: Array = [], base_instance: Object = null, show_error: bool = true, const_calls_only: bool = false)

String

get_error_text() const

bool

has_execute_failed() const

Error

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. щоб ви могли зв'язати їх під час виконання.