GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/eintr/Sample-let-Expression.html ・ emacs-doc.conao3.com

3.6.2 サンプル let 式

以下の式は、2つの変数 zebra と tiger を生成し、初期値を代入します。let 式の本体は、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つの変数は zebra と tiger です。各変数は2要素のリストの第1要素であり、各値は対応する2要素リストの第2要素です。varlist において、Emacs は変数 zebra を値 "stripes"10 に、変数 tiger を値 "fierce" にそれぞれバインドします。この例では、どちらの値も文字列です。これらの値は、別のリストやシンボルであっても構いません。変数を含むリストの後には、let の本体が続きます。この例では、本体は message 関数を使用してエコーエリアに文字列を出力するリストとなっています。

最後の括弧の後にカーソルを置き、C-x C-e と入力することで、通常通りに例を評価できます。そうすると、エコーエリアに以下のように表示されます。

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

前述の通り、message 関数は ‘%s’ を除き、第1引数を出力します。この例では、変数 zebra の値が最初の ‘%s’ の位置に、変数 tiger の値が2番目の ‘%s’ の位置に出力されます。


脚注

(10)

ジャレド・ダイアモンドは『銃・病原菌・鉄』の中で、「……シマウマは年を重ねるにつれて途方もなく危険な存在になる」と述べているが、ここでの主張は、彼らがトラのように獰猛になるわけではないということである。 (1997, W. W. Norton and Co., ISBN 0-393-03894-2, 171ページ)