2013年1月16日水曜日

[Emacs][Elisp]基礎

演算
演算, 評価, evaluation と表現する時もある
(operand arg1 arg2)
例)
(+ 1 2) は 1 + 2 を表す

代入
(variable value)
例)
(auto-fill-mode 1) は auto-fill-mode という変数に 1 を代入する
Auto fill mode: 最大幅までで文字が到達したら自動的に改行を入れる

Labmda
フォーマット
(lambda (arg-variables...)
 [documentation-string]
 [interactive-declaration]
 body-forms ...)
  • 先頭は lambda シンボルを使用する
  • labmda により以下のリストが関数であることを表している。これにより他のリストとはっきり区別をつけている。
  • documentation-string は function 定義を記述する
  • interactive-declaration は interactive code-string を記述する。すなわち M-x で使用する時のコマンド名になる
  • body-form には Lisp コードを記載する
例)
((lambda (a b c) (+ a b c))
 1 2 3)
6
(a b c) という新しい関数を登録する。内容は (+ a b c) となる。その (a b c) という関数に (1 2 3) という引数を渡した結果は 1 + 2 + 3 となるので結果は 6 となる。

0 件のコメント:

コメントを投稿