31
2つの引数を持つ関数dummy
があるとします。引数は、関数呼び出しで指定されていない場合は、デフォルト値を持つことができます。しかし、引数が提供されていないことを私はどのように知っていますか?関数呼び出しで引数が指定されているかどうかをチェックする方法は?
私は私が私が引数を引数名に基づいて供給されているかどうかを確認することができるかどうかを知りたいこの
function dummy(arg1, arg2)
if nargin < 2
arg2 = 0;
end
if nargin < 1
arg1 = 0;
end
% function body
のように、nargin
を使用することができます知っていますか? supplied(arg2) == false
のようなものです。
引数リストの先頭に新しい引数を追加したい場合があります(既定値がない可能性があるため)。if nargin ...
をすべて変更する必要があります。名前で確認できる場合は、何も変更する必要はありません。
あなたは今までに変更の場合には、コードを変更する必要はありませんので、これは、関数narginよりもはるかに優れています:あなたはあなたが行うことができ、引数をスキップできるようにしたいかのように、@yukで言っ
関数内のパラメータの順序 –
私は通常、 '... | isempty(arg1) 'なので、ユーザは' arg1'をスキップすることができますが、 'arg2'を供給することができます。もちろん、 'arg1'を空にすることはできません。 – yuk
私はそれが本当に質問に答えていないと思いました。とにかく、私は答えを編集しました。また、 '||'(短絡演算子)を使って 'arg1'が存在しない場合にエラーがないことを確認しなければならないと思います。 – Oli