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…)