Next: Sample let Expression, Previous: Prevent confusion, Up: let [Contents][Index]
let Expressionlet式は3つのパーツをもつリストです。1つ目はシンボルのlet、2つ目はvarlistと呼ばれるリストです。このリストの要素はシンボル、あるいは2つの要素をもつリストで、この場合には1つ目の要素がシンボルです。let式の3つ目のパーツがletのbodyになります。このbodyは通常は1つ以上のリストから構成されます。
letのための雛形は以下のようになります:
(let varlist body…)
varlist内のシンボルはスペシャルフォームletによって初期値が与えられる変数です。シンボルだけの場合には初期値としてnilが与えられます。2要素のリストの場合には2つ目の要素をLispインタープリターが評価してリターンされた値が1つ目の要素に初期値としてバインドされます。
したがってvarlistは(thread (needles
3))のようになります。この場合のletではシンボルthreadにはnil、シンボルneedlesには3を初期値としてEmacsがバインドします。
あなたがlet式を記述する際には、このlet式の雛形のスロットに適切な式を記述することになります。
よくあるケースですがvarlistが2要素のリストから構成される場合には、let式の雛形は以下のようになります:
(let ((variable value)
(variable value)
…)
body…)