Shammer's Philosophy

My private adversaria

Lisp の変数定義

Emacs で設定をいろいろしているが、その設定の意味が全然わからない。
これをわかるようになるためにちょっとずつLispをやっているが・・・


とりあえず、初歩の初歩。何かしらの変数を定義する。
Lispの文法としては、


 (setq x 1)
 1
 x
 1


という感じ。実行は、Emacs の scratch バッファで一行ごとに Ctrl-j を押す。
この setq というのは、.emacs を書くときやもともと用意されている xxx.el の中で頻出。
変数を定義するコマンド(Lispだと関数というべきか?)のこと。
この場合、変数 x が 1 になった、という意味。


これは、こう書くこともできる。


 (set (quote x) 1)
 1
 x
 1


setq というのは、set quote の略のようだ。
こんなこともできるようだ。


 (set 'x 500)
 500
 x
 500


なんかこれができると、


 (setq 'x 530)


もできるのでは?と思ったがこれはできなかった。
とりあえずたくさん scratch バッファで遊ぶことにしよう。