Matlab能进行惰性求值吗?

4

我认为你可以通过以下方法在Matlab中实现惰性求值:

foo = @() 1+1
% do some other things
bar = foo()

据我所知,只有在调用foo()函数时才会实际评估其功能。请确认这是否算作惰性评估。
1个回答

4
据我所知,在Matlab中没有比这更好的方法来实现这个,这里也建议了。只需记住,Matlab不会检测相同术语的多次评估。如果你这样做:
foo = @() 1+1
bar=@()foo()*foo()

它将会评估foo两次。相反,“传统”的方式只会评估一次:
foo=1+1
bar=foo+foo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接