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


3.6.2 Sample let Expression

以下は2つの変数zebratigerに初期値を与える式を作成します。このlet式のbodyはmessage関数を呼び出すリストです。

(let ((zebra "stripes")
      (tiger "fierce"))
  (message "One kind of animal has %s and another is %s."
           zebra tiger))

ここでのvarlistは((zebra "stripes") (tiger "fierce"))です。

2つの変数とはzebratigerです。変数はそれぞれ2要素リストの1つ目の要素、2つ目の要素がそれらの変数の値となります。このvarlistでEmacsは変数zebraに値"stripes"9、変数tigerに値"fierce"をバインドします。この例ではどちらの値も文字列です。値には同じように別のリストやシンボルも指定できます。変数を保持するリストの後にletのbodyが続きます。この例でのbodyはエコーエリアに文字列をプリントするmessage関数を使用するリストです。

この例の最後のカッコにカーソルを置いてC-x C-eとタイプする通常の方法によって評価できます。評価するとエコーエリアに以下が表示されるでしょう:

"One kind of animal has stripes and another is fierce."

これまで見てきたとおり、messageは1つ目の引数から‘%s’以外をプリントします。この例では1つ目の‘%s’の箇所に変数zebraの値、2つ目の‘%s’の箇所に変数tigerの値がプリントされます。


Footnotes

(9)

Guns, Germs, and SteelのJared Diamondによれば、“… 縞馬(zebra)は年をとるにつれあり得ないほど危険になる”そうですが、そこでは虎(tiger)ほど獰猛(fierce)になる訳ではないと主張されています(1997, W. W. Norton and Co., ISBN 0-393-03894-2, page 171)。

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