Main Content

return

呼び出し元のスクリプトまたは関数に制御を戻す

構文

説明

return は、MATLAB® がスクリプトまたは関数の最後に到達する前に、強制的に呼び出し元のプログラムに制御を戻します。呼び出し元のプログラムとは、return の呼び出しを含むスクリプトまたは関数を呼び出したスクリプトまたは関数です。return を含むスクリプトまたは関数を直接呼び出した場合は呼び出し元のプログラムがないため、MATLAB のコマンド プロンプトに制御が戻ります。

メモ

ifswitch などの条件付きブロックまたは forwhile などのループ制御ステートメントで return を使用するときは注意が必要です。MATLAB が return ステートメントに到達すると、ループが終了するだけでなくスクリプトまたは関数も終了し、呼び出し元のプログラムまたはコマンド プロンプトに制御が戻ります。

すべて折りたたむ

現在の作業フォルダーで、配列から値の平方根を探してその最初のインデックスを特定する findSqrRootIndex という関数を作成します。平方根が見つからない場合、関数は NaN を返します。

function idx = findSqrRootIndex(target,arrayToSearch)

idx = NaN;
if target < 0
   return
end

for idx = 1:length(arrayToSearch)
    if arrayToSearch(idx) == sqrt(target)
        return
    end
end

コマンド プロンプトで関数を呼び出します。

A = [3 7 28 14 42 9 0];
b = 81;
findSqrRootIndex(b,A)
ans =

     6

MATLAB が return ステートメントに到達すると、呼び出し元のスクリプトまたは関数がないため、キーボードに制御が戻ります。

現在の作業フォルダーにあるファイル returnControlExample.m で、配列から値の平方根を探してその最初のインデックスを特定する次の関数を作成します。この関数は前の例で作成した関数 findSqrRootIndex を呼び出します。

function returnControlExample(target)
    arrayToSearch = [3 7 28 14 42 9 0];
    idx = findSqrRootIndex(target,arrayToSearch);
    
    if isnan(idx)
        disp('Square root not found.')
    else
        disp(['Square root found at index ' num2str(idx)])
    end
end

コマンド プロンプトで関数を呼び出します。

returnControlExample(49)
Square root found at index 2

MATLAB が findSqrRootIndex 内の return ステートメントに到達すると、呼び出し元の関数 returnControlExample に制御が戻り、該当するメッセージが表示されます。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入

参考

| | | | | | | | |