eval
ProgrammingEvaluationError HandlingExpressionsFreeMat
Description
Guidelines for eval
Globs
**/*
---
description: Guidelines for eval
globs: **/*
---
Usage
The eval function evaluates a string. The general syntax for
its use is
eval(s)
where s is the string to evaluate. If s is an expression
(instead of a set of statements), you can assign the output
of the eval call to one or more variables, via
x = eval(s)
[x,y,z] = eval(s)
Another form of eval allows you to specify an expression or
set of statements to execute if an error occurs. In this
form, the syntax for eval is
eval(try_clause,catch_clause),
or with return values,
x = eval(try_clause,catch_clause)
[x,y,z] = eval(try_clause,catch_clause)
These later forms are useful for specifying defaults. Note
that both the try_clause and catch_clause must be
expressions, as the equivalent code is
try
[x,y,z] = try_clause
catch
[x,y,z] = catch_clause
end
so that the assignment must make sense in both cases.
Example
Here are some examples of eval being used.
--> eval('a = 32')
a =
32
--> b = eval('a')
b =
32
The primary use of the eval statement is to enable
construction of expressions at run time.
--> s = ['b = a' ' + 2']
s =
b = a + 2
--> eval(s)
b =
34
Here we demonstrate the use of the catch-clause to provide a
default value
--> a = 32
a =
32
--> b = eval('a','1')
b =
32
--> b = eval('z','a+1')
b =
33
Note that in the second case, b takes the value of 33,
indicating that the evaluation of the first expression
failed (because z is not defined).
* FreeMat_Documentation
* FreeMat_Functions
* Generated on Thu Jul 25 2013 17:17:14 for FreeMat by
doxygen_ 1.8.1.1