Contents
シンボルは一見、変数名とか関数名に見えてしまう、つまりコンパイルが 終わったらそれはメモリ上のどこかを指す単なる名前で、デバッグオプションを 最適化するとどっかにいっちゃう、みたいなそんな感じを受けるけれども、 LISPでは違うみたいだ。シンボルはシンボル、立派なオブジェクト。
記号 | 同当の関数 | |
シンボルそのもの | 'hehe | (quote hehe) |
シンボルの指す値 | hehe | (symbol-value hehe) |
シンボルの指す関数 | #'hehe | (symbol-function hehe) |
シンボルの指す属性 | (symbol-plist hehe) |
記号 | 同当の関数 | |
評価しない | 'hehe | (quote hehe) |
原則評価しないけど、 "," と ",@" は例外 | `hehe | |
"`" はついてるけど、 私は評価してね | ,hehe | |
"`" はついてるけど、私 の一番外の括弧をはずす | ,@hehe |
(set 'hehe 10)
とやると 'hehe というシンボルに 10 という値(オブジェクト?)が 割り当てられる。'hehe が指す内容は hehe で参照できる。
hehe => 10
(set 'huhu 'hehe)
とやると、'huhu というシンボルに 'hehe が割り当てられる。
huhu => hehe
なので、
(set huhu 99) ;;; 'huhu でなく huhu に注意。 ;;; つまりこれは (set 'hehe 99) と同じこと
とやると
hehe => 99
と 'hehe の指し示す内容が変更される。
値
- nil
- 数値
- 文字列
関数
シンボル
コンスセル
GNUからリリースされているEmacsのWindows binaryはIMEの扱いでやや 挙動不審なので、 gnupack にあるものをダウンロードしてくると よいよう。Mingwと一緒になってないEmacsだけのものもあるので それを使うとよいよう。
Windowsに標準で入っているftpがEmacsからはつかえないので、
ftp://ftp.gnu.org/old-gnu/emacs/windows/contrib/ftp-for-win32.zip
からftpを入手。適当にファイル名を変更して(しなくてもいいけど)、
(setq ange-ftp-ftp-program-name "C:\emacs\23\bin\ftp.exe")
とかいう設定をして使うようにする。