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