predef 変数の保護

## 呼出し手順

    n = predef()
                oldnew = predef(n)
                oldnew = predef('all')
                oldnew = predef('clear')
                variables_name = predef('names')

## 説明

"oldest"変数を"protected"として定義するために使用されるユーティリティ関数. 保護されている変数は削除できません. これらの変数は `save` コマンドで保存されません. "oldest" は`who('get')`で最後に現れます.

`predef()`は保護される変数の数を取得します.

`predef('a[ll]')`は 全ての変数を保護し,保護される変数の数の古い値と新しい値も返します.

`predef('c[lear]')` は最後の7変数以外の 保護を外し, 保護される変数の数の古い値と新しい値も返します.

`predef(n)` は, `max(n,7)`個の最後に定義された変数を保護し, 保護される変数の数の古い値と新しい値も返します.

`predef('names')` は保護されている変数の名前を保持する 文字列のベクトルを返します.

`predef('clear')` はリストから定義済みの変数を削除します.

## 注意:

変数 `ans` は,式が代入されない場合に自動的に定義され, `predef('all')`により保護されません.

保護される変数の数は,スタートアップファイル `SCI/etc/scilab.start`で設定されます. ユーザは独自の定義済みの変数を ユーザのスタートアップファイル `SCIHOME/.scilab` および `SCIHOME/scilab.ini` により設定することができます.

新規に定義した変数を`predef(1)`により保護できないことに注意してください. これはある変数を保護する際, Scilab はその前に定義されている全ての変数を保護する必要があります. この制限は スタック設計でなくなるScilab 6ではなくなります.

## 例

    a = 1;
    predef("all");
    clear a // 失敗
    predef("clear")
    clear a // 動作

## 参照

- clear
- save
- ans
- startup