Programming and Data Types    

関数ハンドルのタイプ

functions によって出力される情報は、関数ハンドルによって表わされる関数のタイプにより異なります。この節では、関数のタイプに応じて何が出力されるかを説明します。関数ハンドルのカテゴリは、以下の通りです。

簡単な関数ハンドル

以下は、多重定義されていないMATLAB組み込み関数あるいはM-ファイル関数のハンドルです。関数のタイプが決定されていない関数ハンドル (例、Javaメソッド、存在しない関数)も、このカテゴリにあてはまります。

構造体フィールド

例題:

組み込み関数の関数ハンドルについてfunctionsを使います。

非組み込み関数の関数ハンドルについてfunctionsを使います。

多重定義された関数ハンドル

以下は、異なるクラスに対して多重定義された実現であるMATLAB組み込み関数あるいはM-ファイル関数のハンドルです。

構造体フィールド:

例題:

組み込み関数の関数ハンドルについてfunctionsを使います。

非組み込み関数の関数ハンドルについてfunctionsを使います。

コンストラクタ関数ハンドル

以下は、MATLABクラスのオブジェクトを作成する関数のハンドルです。

構造体フィールド

例題

コンストラクタ関数の関数ハンドルについてfunctionsを使います。

サブ関数ハンドル

以下はMATLAB サブ関数のハンドルで、サブ関数とはそのM-ファイルの基本関数でのみ利用可能なM-ファイル内で定義される関数です。サブ関数ハンドルについてfunctionsを使うとき、出力構造体のfileフィールドは、サブ関数が定義されるM-ファイル名とパスを含みます。

構造体フィールド

例題

以下のgetLocalHandle M-ファイルは、基本関数とサブ関数subfuncを定義します。

getLocalHandleの呼び出しは、サブ関数の関数ハンドルを出力します。そのハンドルをfunctionsに渡すと、以下の情報を出力します。

プライベート関数ハンドル

以下は、MATLAB プライベート関数のハンドルで、プライベート関数とは、親ディレクトリ内の関数でのみ利用可能なprivateサブディレクトリで定義される関数です。プライベート関数ハンドルについてfunctionsを使うとき、出力構造体のfileフィールドは、関数を定義するprivateサブディレクトリ内のM-ファイル名パスを含みます。

構造体フィールド:

例題

以下のgetPrivateHandle関数は、privatefuncというプライベート関数のハンドルを出力します。

以下の関数privatefuncは、\privateサブディレクトリにあります。

getPrivateHandle の呼び出しは、\privateで定義された関数privatefuncのハンドルを出力します。.そのハンドルをfunctionsに渡すと、以下の情報を出力します。


  functionsコマンドで出力されるフィールド 関数ハンドルの演算