- 316 名前:デフォルトの名無しさん mailto:sage [2008/04/12(土) 11:50:56 ]
- testが決め打ちなら、
(setf (symbol-function 'test) #'car) (funcall (car '(test . ("arg1" . "arg2"))) '(foo bar)) ;-> foo で良いだろうし testが動的に変化するなら、 (let ((test #'car)) (funcall (car `(,test . ("arg1" . "arg2"))) '(foo bar))) -> foo じゃない? function(#')付けるとややこしくなると思うよ。 もしくは最初のalistの作り方ががそもそも問題で、 (let ((test #'car) (alist (cons #'car '("arg1" . "arg2")))) (funcall (car alist) '(foo bar))) とか。 なんにしろ、何が実現したいのかで変ってくる例だと思う。 関係ないけど、SchemeとCommon Lispの名前空間の扱いの違いを理解するには良い例かも。
|

|