*** Welcome to IELM *** Type (describe-mode) for help. ELISP> (get 'hoge :foo) nil ELISP> (get 'hoge :bar) nil ELISP> (setf (get 'hoge :foo) 100) 100 ELISP> (setf (get 'hoge :bar) 200) 200 ELISP> (get 'hoge :foo) 100 ELISP> (get 'hoge :bar) 200 ELISP> hoge *** Eval error *** Symbol's value as variable is void: hoge ELISP> (setq hoge 'aaaaaaaaaaa) aaaaaaaaaaa ELISP> hoge aaaaaaaaaaa ELISP> (defun hoge (x) x) hoge ELISP> (hoge "hoge") "hoge" ELISP> (hoge "hello, world !!") "hello, world !!" ELISP> (symbol-value 'hoge) aaaaaaaaaaa ELISP> (symbol-function 'hoge) (lambda (x) x) ELISP> (symbol-plist 'hoge) (:foo 100 :bar 200) ELISP> (symbol-name 'hoge) "hoge" ELISP> (symbol-package 'hoge) *** Eval error *** Symbol's function definition is void: symbol-package ELISP>twitterで教えてもらったけど、Common Lispのsymbolって5つもスロットあったのか(笑)変数/関数にplistの3つかと思ってた。その点schemeは良し悪しは別としてすごくシンプル。
2011/12/24
emacs lispのplist
これを見て初めて知りました。
elispにもcl同様にplistがあったんですね。しかも変数/関数とは別にバインドできるアレが。(あ、でもこれはcl packageのお陰なのかな?そこまで調べる気は起きなかったり)
labels :
common lisp,
Emacs,
Lisp
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿