2.6.2 Dual-Purpose Executable Scripts and Octave Functions

Last-modified: 2025-03-01 (土) 21:27:07

2.6.2 二重目的実行可能スクリプトとオクターブ関数¶

シェルから呼び出されたときに実行可能プログラムとして、または Octave 内から呼び出されたときに通常の関数として機能できる m ファイルを作成するには、関数で初期化されたデフォルトの入力引数を使用しますargv。

関数がシェルから呼び出された場合、Octave は関数に入力パラメータを渡さないため、デフォルトの引数が使用されます。ただし、関数がインタープリタから呼び出された場合、任意の引数が関数に渡され、これがデフォルトを上書きします。

さらに、ファイルの拡張子は.mインタープリタがこれを Octave 関数として認識できるようにします。最後に、 からの出力は 文字列のセル配列です。処理の前に、またはを使用してargvこれを数値に変換する必要がある場合があります。 str2doublestr2num

完全な例として、mysin.m.ファイルにある次のコードを検討してください。

#! /bin/octave -qf
function retval = mysin (x = str2double (argv(){end}))
retval = sin (x)
endfunction

これはシェルから次のように呼び出すことができます。

mysin.m 1.5

またはOctaveから

mysin (1.5)