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 "

## 参照

- execstr
- evstr
- mode
- chdir
- pwd