カスタムクラスを組み込み関数とインターフェイスさせようとしていることに気づき、evalでしか解決できない状況を見つけました。「よりクリーンな」方法が必要です。
基本的に、組み込み関数はvarargout=blabla(varargin)
、カスタムクラスでオーバーライドされた関数をとして定義したように定義されますvarargout=blabla(varargin)
。関数は次のようになります。
function varargout=blabla(varargin)
varargout=blabla(function_of_varargin)
end
の関数は、varargin
それをカスタムクラスから組み込みクラスに変換します。
ただし、そのままでは機能しません。基本的に、組み込み関数がオーバーライドされた関数内で呼び出されるとvarargout
、カスタムのオーバーライドされた関数が複数の出力パラメーターで呼び出された場合でも、出力パラメーター()は1つしか表示されません。
私は基本的にこれを呼び出すことによってそれを解決しました:
[varargout{1},varargout{2},...,varargout{nargout}]=blabla(function_of_varargin)
ループと評価を使用してLHSを構築します。