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


変数

変数(variable)とは、Calc のレジスタであり、 またプログラム言語中の変数でもあります。 (実際、Calc 変数は本当に Emacs Lisp 変数で、Calc の数値か式を含んでいます。) 変数名は普通、英文字と数字で構成されています。 Calc では変数名に、アポストロフィーや # 記号も許されます。 Calc 変数 foo は、Emacs Lisp 変数 var-foo に対応します。 s s (calc-store) のような、変数に作用するコマンド群は、 変数指定ミニバッファ中でプリフィックスの `var-' を消すだけで、 任意の Lisp 変数に作用できるようになっています。

変数名を取得するコマンドでは、変数のフルネームをタイプしても良いし、 1桁の数字をタイプして簡易変数 var-q0var-q9 の 1つを使うこともできます。 例えば、3 s s 2 は数値 3 を変数 var-q2 にストアし、 3 s s foo RET は数値 3 を変数 var-foo にストアします。

(変数の値ではなく)変数そのものをスタックに置くには、 アポストロフィー(')キーを使って、 代数式として変数名を入力してください。 代数変数名には、内部的に、 その名前にプリフィックス `var-' が付加されています。 代数変数名中の `#' 文字は、 Lisp 変数名中のダッシュ `-' に対応します。 代数変数名に `#' が含まれていたら、 プリフィックスの `var-' は自動付加されません。 従って、 `foo + 1'`var#foo + 1' は同じ変数を参照しています。

= (calc-evaluate) キーは、 (calc-storecalc-let コマンドなどによって) 既に値が与えられている変数を、 その値に置換えることによって式を「評価」します。 値が決定されていない変数は放置されます。 従って、値がストアされていない変数は、代数学の抽象変数のように振舞い、 値がストアされた変数は、電卓のレジスターのように振舞います。 = に正の接頭引数を付けると、スタック top の n 項目を評価します。 負の接頭引数では、スタック top から n 番目の項目だけ評価します。

特殊定数と呼ばれる変数があって、それは `e', `pi', `i', `phi', `gamma' です。 (Scientific Functions 参照 。) = によって評価されるとき、 必要に応じ現在の計算精度や複素極座標モードにあわせて計算されます。 それらを記号のまま別の目的に使いたいときは、 calc-store を使って定義を取消すか、定義しなおしてください。

変数 `inf', `uinf', `nan' は、無限大や不定数を表します。 Calc はこれらを扱うとき、特別な代数法則を使うので、 普通の変数として使うべきではありません。 これら特殊変数に値をストアしようとすると、Calc は警告を出します。

変数を扱うコマンド群の議論は、ストアとリコール 参照 。


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