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