exec
スクリプトファイルを実行する
呼び出し手順
exec(path [,mode]) exec(fun [,mode]) ierr = exec(path, 'errcatch' [,mode]) ierr = exec(fun, 'errcatch' [,mode])
引数
- path
文字列, スクリプトファイルへのパス
- mode
整数スカラー,実行モード (以下参照)
- fun
scilab 関数
- ierr
整数, 0 またはエラー番号
説明
exec(path [,mode])
は,
path
で指定したファイルの中のオプションの
実行モードmode
でScilab命令を逐次実行します.
以下の mode
を指定できます :
- 0
デフォルト値.
- -1
何も出力しない.
- 1
各コマンド行を出力(エコーバック)する.
- 2
プロンプト
-->
を出力する.- 3
エコー + プロンプト.
- 4
各プロンプト出力の前に停止します. キャレッジリターンを入力すると実行が再開します.
- 7
停止 + プロンプト + エコー : デモを行う際に有用なモード.
exec(fun [,mode])
は関数
fun
をスクリプトとして実行します:
入出力の引数も特定の変数環境もありません.
スクリプト評価のこの方法により,スクリプトをライブラリの
関数として保存することが可能になります.
実行時にエラーが発生し,
'errcatch'
フラグが指定されている場合,
exec
はエラーメッセージを出力せずに
命令を実行を破棄し,エラー番号をierr
に
代入して復帰します.
'errcatch'
フラグが存在しない場合,標準のエラー処理が
機能します.
注意
exec
ファイルは,
インライン関数定義構文(関数の項参照)により関数を定義する際に使用されます
(function参照).
exec
はANSI/アスキー および UTF-8 エンコード
されたファイルをサポートします.
ファイル中の各行の長さは 4096 文字に制限されています.
例
// スクリプトファイルを作成 mputl('a=1;b=2',TMPDIR+'/myscript') // スクリプトを実行 exec(TMPDIR+'/myscript') whos -name "a " // 関数を作成 deff('y=foo(x)','a=x+1;y=a^2') clear a b // 関数をコール foo(1) // a は関数 foo の環境に作成された変数 // この変数は foo がリターンする時に破棄されます whos -name "a " x=1 // xを作成し,スクリプトfooによりアクセス可能とする. exec(foo) // カレントの環境にa と y が作成されました whos -name "a " whos -name "y "
参照
Report an issue | ||
<< deff | Functions | execstr >> |