Go to the first, previous, next, last section, table of contents.


宣言の基礎

s d (calc-declare-variable) コマンドは、 変数の宣言を行う最も手軽な方法です。 このコマンドは先ず変数名の入力を促し、続いて宣言入力のプロンプトが出ます。 宣言プロンプトにおけるデフォルトは、以前の宣言(もしあれば)になります。 それを編集して使ったり、C-k で消して新しい宣言を入力したりできます。 (また、前の宣言を消してそのまま RET を押せば、 変数を実質的に「無宣言」にできます。)

一般に宣言は型式記号(type symbols)値範囲(range) の ベクトルです。 たったひとつの型式記号、あるいはたったひとつの値しか無い場合は、 ベクトルのカギ括弧を省略して入力できます。 例えば、s d foo RET real RETfoo を実数として宣言し、 s d bar RET [int, const, [1..6]] RETbar を 1 〜 6 の範囲の整数定数と宣言します。 (いちばん外側のカギ括弧は Calc が補完するので、実際は省略できます: s d bar RET int, const, [1..6] RET。)

Calc における宣言は、特別な変数 Decls に保管されます。 この変数は、全ての宣言の集合を行列型式にエンコードします。 各行には2つの要素があって、 宣言する変数または変数群と、上述の宣言記述子からなります。 全ての宣言を一度に見たい場合、 s D を使うと、この変数を編集できます。 このコマンドと、宣言を永久保存する s p コマンドの説明は、 その他の変数操作 参照 。

関数呼出しも宣言できます。 関数に有効な引数を与えた場合の戻り値を宣言するのであって、 引数は無視されます。 s d コマンドは変数しか宣言できないので、 関数を宣言したければ自分で Decls 行列を編集しなければなりません。

例えば次の宣言行列、

[ [ foo,       real       ]
  [ [j, k, n], int        ]
  [ f(1,2,3),  [0 .. inf) ] ]

これは foo が実数であること、 j, k, n が整数であること、 関数 f が示された区間の実数を返すこと、を宣言しています。

もし、変数 All についての宣言があったら、 その宣言は、別途宣言されていない全ての変数に適用されます。 関数には適用されません。 例えば、行 `[All, real]' の意味は、 「他の行で陽に real 以外に宣言されてない変数は実数である」 ということです。 s d コマンドで、変数プロンプトに空行で答えたときのデフォルトは All です。


Go to the first, previous, next, last section, table of contents.     利用度数