【发布时间】:2014-06-10 15:44:09
【问题描述】:
f.m:
function [] = f(the_only_argument)
% Do awesome things here
end
g.m:
function [value] = g(the_only_argument)
% Do awesome things here
value = awesome_value;
end
是否存在某种 ReturnsNothing,例如:
assert(ReturnsNothing(@f) & ~ReturnsNothing(@g))
附:我希望能够调用arrayfun(@f, [1,1,1]),目前返回错误:
??? Error using ==> f
Too many output arguments.
【问题讨论】:
-
第二部分(顺便说一句,它与第一部分有什么关系?):您不能将输入参数(这是
arrayfun尝试做的)传递给不接受输入参数的函数 -
你不能直接返回
NaN并使用它吗? -
我为问题中的一个错误道歉:而不是 f() 它应该是 f(the_only_arg)。
-
@mezhaka:我无法重现您的问题,您可以将
f与 arrayfun 一起使用。你怎么称呼arrayfun? -
也无法重现,除非您使用输出调用
arrayfun,例如out = arrayfun(@f, [1,1,1]),在这种情况下删除输出,例如arrayfun(@f, [1,1,1])会解决这个问题
标签: matlab reflection metaprogramming