Previous: , Up: let   [Contents][Index]


3.6.3 Uninitialized Variables in a let Statement

以下の式で示すように、letステートメント内で特定の初期値にバインドしなかった変数には、初期値として自動的にnilがバインドされます:

(let ((birch 3)
      pine
      fir
      (oak 'some))
  (message
   "Here are %d variables with %s, %s, and %s value."
   birch pine fir oak))

ここでのvarlistは((birch 3) pine fir (oak 'some))です。

この式を通常の方法で評価すればエコーエリアに以下が表示されるでしょう:

"Here are 3 variables with nil, nil, and some value."

この例においてEmacsはシンボルbirchに数値の3、シンボルpinefirnil、シンボルoakに値someをバインドしています。

letの最初の部分では変数pinefirはカッコで括られていない単独のアトムであることに注意してください。空のリストであるnilにバインドされるのは、これが理由です。しかしリスト(oak 'some)oaksomeにバインドされます。同じように数値の3を含むリストによってbirchは数値3にバインドされます(数値はその数値自体に評価されるのでクォートする必要はなく、更にメッセージ内で‘%s’ではなく‘%d’を用いて数値をプリントしている)。4つの変数はletのbodyと区別するために、リスト内にグループ化されています。

This page has generated for branch:work/add_lispintr, commit:65845cf60c073f2f3182d1d07483530e9bbe1d96 to check Japanese translation.