Expression

Inherits: Reference < Object

Category: Core

Brief Description

A class that stores an expression you can execute.

Methods

Variant execute ( Array inputs=[ ], Object base_instance=null, bool show_error=true )
String get_error_text ( ) const
bool has_execute_failed ( ) const
Error parse ( String expression, PoolStringArray input_names=PoolStringArray( ) )

Description

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.

onready var expression = Expression.new()

func _ready():
    $LineEdit.connect("text_entered", self, "_on_text_entered")

func _on_text_entered(command):
    var error = expression.parse(command, [])
    if error != OK:
        print(get_error_text())
        return
    var result = expression.execute([], null, true)
    if not expression.has_execute_failed():
        $LineEdit.text = str(result)

Method Descriptions

Executes the expression that was previously parsed by parse and returns the result. Before you use the returned object, you should check if the method failed by calling has_execute_failed.

  • String get_error_text ( ) const

Returns the error text if parse has failed.

  • bool has_execute_failed ( ) const

Returns true if execute has failed.

Parses the expression and returns a Error.