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)