是否可以在匿名函数中写入多个语句?
例如,我想将函数f
作为参数传递给另一个函数,该函数将尝试在循环中多次调用它,并且我希望f
执行非平凡的工作分散在多个陈述中。
显然我不能写下面的内容,因为函数没有捕获第二个disp
-
>> f = @() disp('Hello'); disp('World')
World
我希望我可以使用括号来界定函数的范围,但是当MATLAB接受语法时,
>> f = @() {disp('Hello'); disp('World')}
f =
@(){disp('Hello');disp('World')}
它不喜欢我调用函数 -
>> f()
Error using disp
Too many output arguments.
Error in @(){disp('Hello');disp('World')}
是否有一个解决方案,除了编写内部函数并传递它之外(我不喜欢这样做,因为在包含内部函数的m文件中调试很困难,因为你无法在工作空间中创建变量)。