タグ

2015年5月22日のブックマーク (1件)

  • Emacs Lispの汎変数 - Qiita

    これで a の値は (1 10 3) になります。 この setf は setq の拡張と見ることができ、置き換えることができます。setq では、 x が変数でしたが、 setf では、 (elt a 1) 全体が変数とみなされます。 マクロと特別形式 ところで、Emacs Lisp には、関数に類する機能として、マクロと特別形式(special form) があります。関数は実行時に評価されますが、マクロはコンパイル時に評価されて、式を出力します。また、実行時にはさらに式が評価されて結果を出力します。特別形式は、引数が評価されない場合があります。 たとえば setq は特別形式で、奇数番目の引数は評価されません。(詳細はEmacs Lisp リファレンス・マニュアル 9.2.7 参照) 一方、 setf はマクロです。式がどのようにマクロ展開されているかを確認するには、 macroex

    Emacs Lispの汎変数 - Qiita
    tarao
    tarao 2015/05/22