|Liberty BASIC Help Online
EVAL$( code$ )
Liberty BASIC now has two functions for evaluating BASIC code inside a running program. The eval() function evaluates the code and returns a numeric value, and the eval$() function works the same way but returns a string value. Both will execute the very same code, but the string function converts the result to a string if it isn't already one, and the numeric version of the function converts it to numeric values.
Evaluating to a string
Here we show how to evaluate code to a string, and what happens if you try to evaluate it to be a number.
'Let's evaluate some code that produces a non-numeric result
a$(0) = "zero"
a$(1) = "one"
a$(2) = "two"
code$ = "a$(int("+str$(rnd(1))+"*3))"
print "We will evaluate the code: "; code$
result$ = eval$(code$)
'Now let's use the eval function, which effectively does a
'val() to the result of the calculation. Converting a non
'numeric string to a numeric value results in zero.
result = eval(code$)
Evaluating to a number
Here's an example of the most common type of code evaluation users will want to do: Numeric computation. Let's just make a short example that asks you to type an expression to evaluate.
'ask for an expression
input "Type a numeric expression>"; code$
answer = eval(code$)
Copyright (C) 2003 Shoptalk Systems
Liberty BASIC - http://www.libertybasic.com/