Ste*_*ven 3 variables matlab eval operators while-loop
这是我想到的一个思想例子:
test = 'x > 0';
while str2func(test)
Do your thing
x=x-1;
end
Run Code Online (Sandbox Code Playgroud)
是否可以将整个逻辑运算存储在这样的变量中?
当然str2func会在这里打破.如果有可能这个功能可能是别的东西.我只在test变量内容中添加了撇号,因为我无法想到存储方法还有什么.
在向函数发送参数时,我可以看到它很有用.但大多数情况下我只是想知道,因为我以前从未在任何编程语言中看到它.
例如,您可以将函数的文本表示存储在变量中并对其进行评估
test = 'x > 0';
eval(test)
Run Code Online (Sandbox Code Playgroud)
应该导致1或0取决于x的值.
但是你不应该eval因为太多经常出现的原因而使用SO来让我烦恼重复.您应该熟悉函数和函数句柄.例如
test = @(x)x>0
Run Code Online (Sandbox Code Playgroud)
对test函数进行句柄处理,该函数测试其参数是否大于0.
与编译语言相比,在运行时解释的许多语言具有类似的功能.