- 41 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 06:16:22 ]
- >>40
泥縄な解決法としては、 (defun foo (ls n) (if (= n 0) (pop ls) (pop (cdr (nthcdr (- n 1) ls))) )) くらいじゃないですか。 pop とかの代入とか更新とかする系のマクロは 参照先として場所を示す式を取れるわけですけれど、 nthcdr は標準では場所を表す名前として使えるようになっていないので この場合はワンクッション置く必要があります。 突っ込むと説明がややこしいところですけど。仕様的にはだいたいこのへん。 www.lispworks.com/documentation/HyperSpec/Body/05_a.htm
|

|