我发现自己试图将自定义类与内置函数接口,我遇到了一个我只能用eval解决的情况,我想要一种“更清洁”的方式。
基本上,内置函数定义为varargout=blabla(varargin)
我在自定义类中定义了一个覆盖函数,varargout=blabla(varargin)
。该函数如下所示:
function varargout=blabla(varargin)
varargout=blabla(function_of_varargin)
end
varargin
的功能将其从自定义类转换为内置clas。
但它不能按原样运行:基本上当在overriden函数内部调用内置函数时,它只能看到一个输出参数(varargout
),即使调用自定义覆盖函数超过一个输出参数。
我通过基本上调用它来解决它:
[varargout{1},varargout{2},...,varargout{nargout}]=blabla(function_of_varargin)
用循环和评估构建LHS。
答案 0 :(得分:7)
你试过这个:
[varargout{1:nargout}] = blabla(varargin{:})