[[modding:function:eval]]
=== eval ===
[[modding:function:eval]]
^ Syntax | (eval expr) -> value of evaluated expression |
^ Arguments | expression: The thing you want to evaluate. It can handle numbers, function, strings, and lists. What it does, depends on what argument it gets. |
^ Returns | If it is passed a number or lamdba function it just returns that otherwise tries to run the list as a function and returns what that function returns, or if it is a string it returns the value of the variable with that name. |
^ Category | [[function operator]], [[string operator]], [[variable]] |
^ Description | Returns the evaluated expression. If it is passed a number or function it just returns that if it is a list tries to run the list as a function and return what it returns, or if it is a string it returns the value of the variable with that name. |
=== Example ===
(eval '(add 1 1))
This is a list case. This will return the number 2.
(block (varies)
(setq varies "I am a variable")
(eval "varies")
)
This is a string case. This will return the string "I am a variable".
(eval (add 1 1))
Even though it is similar to the list case this is a number case (the (add 1 1) is run first). This will return the number 2.
(eval add)
This is the function case. This will return the function add.
Return to [[:Functions]] list