clear 変数を消去する

## 呼出し手順

                clear a b c
                clear('a', 'b', 'c')
                clear(['a' 'b' 'c'])

## 引数

a, b, c...

  任意の型および大きさの変数, ただし,保護されていないこと

## 説明

このコマンドは保護されていない変数を消去します. 変数は環境から削除されます. `clear` は`predef`で保護された 変数以外の全ての変数を消去します. このため,2つのコマンド `predef(0)` および`clear` により全ての変数が削除されます.

通常,保護される変数は標準ライブラリとパーセント構文の変数です.

正しい構文は`clear a`および`clear('a')`であり, `clear(a)`ではないことに注意してください. `a=[]` は `a` を消去しませんが, `a`を空の行列にすることに注意してください.

If a name Var matches no variable, `clear Var` does nothing silently.

`clear()` can be overloaded for any `mlist("foo")` type, by defining a `%foo_clear()` macro. It will be called either when `clear` is explicitly applied to any mlist of this type, or implicitly when any mlist of this type is deleted when leaving the environment where it has been defined.

## 例

    a = 2;
    b = 3;
    c = 4;
    clear a
    isdef("a") // F
    isdef("b") // T
    clear("b");
    isdef("b") // F
    a = 2;
    b = 3;
    c = 4;
    clear(['a' 'b' 'c'])
    isdef("a") | isdef("b") | isdef("c") // F

    function %foo_clear(o)
        disp("deleted");
    endfunction

    value = mlist("foo");
    clear value // will print "deleted"

## 参照

- predef
- clearglobal
- funcprot
- who
- xmlDelete

## 履歴

5.5.0 引数を文字列の行列とすることができるようになりました
6.0.0 `clear` is now protected: Assignments like `clear=1` are no longer possible.
6.1.0 `clear` becomes overloadable for any `mlist("foo")`, with `%foo_clear()`.