Main Content

関数定義の入力の無視

この例では、関数定義でチルダ (~) 演算子を使って入力を無視する方法を示します。この演算子を使用するのは、関数があらかじめ定義された入力のセットを関数で受け入れなければならないが、その関数ではすべての入力を使用するわけではない場合です。一般的な用途としては、コールバック関数の定義が含まれます。

colorButton.m というファイルで、eventdata 入力を使用しないプッシュ ボタンのコールバックを定義します。入力引数リストにチルダを追加して、関数が eventdata を無視するようにします。

function colorButton
figure;
uicontrol('Style','pushbutton','String','Click me','Callback',@btnCallback)

function btnCallback(h,~)
set(h,'BackgroundColor',rand(3,1))

btnCallback の関数宣言は実質的に以下と同じです。

function btnCallback(h,eventdata)

ただし、チルダを使用することで関数ワークスペースに eventdata が追加されなくなり、関数で eventdata が使用されないことがより明確になります。

引数リストの任意の位置にある、関数定義の任意数の入力を無視することができます。連続したチルダはコンマで区切ります。以下に例を示します。

function myFunction(myInput,~,~)

関連するトピック