データの保存
数値を一时的に保存するには変数を使います。 通常、変数に対して 10 や 512 という数値を定数と呼びます。 変数はプログラムの実行时に値が决定されますが、定数はプログラムコードを记述した时点でその値が决定しています。
変数は、コンピュータのメモリ领域を表す识别子(symbol)であると考えられます。 コンピュータは、その内部ではデータの保存领域を数値を用いた番地(アドレス)で表现しています。 しかし、人间にとってデータの保存场所を数値で表されても直観的には理解できないので、その代わりに文字を使ったものが识别子なのです。
データを変数に保存するには setq を用います。
setq {var form}*
{var form}* には、変数の识别子と変数に保存する式を指定します。 何らかの式の结果を変数に保存することを代入すると呼びます。 例えば、変数に 10 を代入するには次のように记述します。
(setq 変数名 10)
変数名には、アルファベット、数値、记号で构成される识别子を指定します。 Common Lisp の识别子は、アルファベットの大文字小文字を区别しません。 次の记号を使うこともできます。
+ - * / @ $ % ^ & _ = < > ~ .
ただし +1 や -20 という表记は整数として认识できるため识别子にはなりません。 +$ や 1+ は识别子として认识することができます。
> (setq x 10)
10
> (setq $$$ 100)
100
> (+ x $$$)
110
この一连のコマンドでは、変数 x と $$$ に対して 10 と 100 を代入しています。 これらの変数は他の関数の引数などに利用することができます。 何らかの情报を一时的に保存しておけば、必要なときに変数にアクセスすることで情报を得ることができます。 最后の + 関数では x 変数と $$$ 変数の加算结果が适切に出力されていることがわかります。
setq は、次のように同时に复数の変数に対して代入することも可能です。
(setq a 10 b 100 c 1000)
この场合、a 変数に 10、b 変数に 100、c 変数に 1000 が代入されます。 代入する値には式を指定することもできます。
(setq a (+ b c))
この场合、a 変数には b 変数と c 変数の値を加算した结果が格纳されます。
> (setq x 10)
> (setq y (+ x 100) z (- x 5))
> x
10
> y
110
> z
5
このコマンド例では、y と z 変数に対して同时に setq で式を代入しています。 このとき、式は単纯な値ではなく x 変数も使った + 関数式であることに注目してください。 y や z には x 変数の値 10 に対して加减算したものであることが结果から确认できます。
--------------------------------------------------------------------------------
数値を一时的に保存するには変数を使います。 通常、変数に対して 10 や 512 という数値を定数と呼びます。 変数はプログラムの実行时に値が决定されますが、定数はプログラムコードを记述した时点でその値が决定しています。
変数は、コンピュータのメモリ领域を表す识别子(symbol)であると考えられます。 コンピュータは、その内部ではデータの保存领域を数値を用いた番地(アドレス)で表现しています。 しかし、人间にとってデータの保存场所を数値で表されても直観的には理解できないので、その代わりに文字を使ったものが识别子なのです。
データを変数に保存するには setq を用います。
setq {var form}*
{var form}* には、変数の识别子と変数に保存する式を指定します。 何らかの式の结果を変数に保存することを代入すると呼びます。 例えば、変数に 10 を代入するには次のように记述します。
(setq 変数名 10)
変数名には、アルファベット、数値、记号で构成される识别子を指定します。 Common Lisp の识别子は、アルファベットの大文字小文字を区别しません。 次の记号を使うこともできます。
+ - * / @ $ % ^ & _ = < > ~ .
ただし +1 や -20 という表记は整数として认识できるため识别子にはなりません。 +$ や 1+ は识别子として认识することができます。
> (setq x 10)
10
> (setq $$$ 100)
100
> (+ x $$$)
110
この一连のコマンドでは、変数 x と $$$ に対して 10 と 100 を代入しています。 これらの変数は他の関数の引数などに利用することができます。 何らかの情报を一时的に保存しておけば、必要なときに変数にアクセスすることで情报を得ることができます。 最后の + 関数では x 変数と $$$ 変数の加算结果が适切に出力されていることがわかります。
setq は、次のように同时に复数の変数に対して代入することも可能です。
(setq a 10 b 100 c 1000)
この场合、a 変数に 10、b 変数に 100、c 変数に 1000 が代入されます。 代入する値には式を指定することもできます。
(setq a (+ b c))
この场合、a 変数には b 変数と c 変数の値を加算した结果が格纳されます。
> (setq x 10)
> (setq y (+ x 100) z (- x 5))
> x
10
> y
110
> z
5
このコマンド例では、y と z 変数に対して同时に setq で式を代入しています。 このとき、式は単纯な値ではなく x 変数も使った + 関数式であることに注目してください。 y や z には x 変数の値 10 に対して加减算したものであることが结果から确认できます。
--------------------------------------------------------------------------------