オクターブ インタラクティブ シェルを起動すると、次のように入力できます。
octave:1> function y = foo(x)
> y = x + 2;
> endfunction
octave:2> foo(7)
ans = 9
インタプリタは、関数定義の残りを待つことを知っています。
しかし、もしそうなら
octave:1> eval("function y = foo(x)");
octave:2> eval("y = x + 2;");
octave:3> eval("endfunction");
各行を単独であるかのように評価します。したがって、何もしない関数 foo を定義し、次の 2 行でエラーを返します。
eval をインタプリタと同じように動作させる方法はありますか? 最終的に、別のスクリプトを実行するが、その間に他のことを実行できるオクターブ スクリプトを作成したいと考えています。コマンドの残りの部分を待機するように eval に指示する方法はありますか (対話型環境の方法)? または、対話型インタープリターにプログラムでコマンドを供給する方法はありますか?
ありがとうございました。