Article View: fj.editor.emacs
Article #406Re: [Q] various questions
From: Hideki Kato
Date: Thu, 25 Feb 1999 00:00
Date: Thu, 25 Feb 1999 00:00
69 lines
3305 bytes
3305 bytes
加藤@ODNです.ちょっと書き方が乱暴でしたね. KURODA Hisao wrote: > kate@pfu.co.jp (KATAYAMA Yoshio) writes: > > > (setq a '(defun foo () > > (let ((foobar '(a))) > > foobar))) > > (eval a) > > (rplacd (foo) 'b) > > > > をおこなうと、a の値は、 > > > > (defun foo nil (let ((foobar (quote (a . b)))) foobar)) > > > > になりますから、(eval a) では戻りません。 > > なるほど。そういう意味ですか。ありがとうございます。 そういう意味です.要するに「rplacd の副作用に注意してね」という 意味で書きました.補足ありがとうございます>片山さん. > しかしながらわたしの元記事で、 > > KURODA Hisao <kuroda@msi.co.jp> writes: > > > > (defun foo () > > (let ((foobar '(a))) > > foobar)) > > foo > > > > > (rplacd (foo) 'b) > > b > > > > > (foo) > > (a . b) > > ------------------------------------------------------------------------ > > > > もちろん、(defun foo ...) をもう一度評価してやれば(foo)の返す値は元に戻 > > ります。上に続けて、 > > とあり、(defun foo ...)をもう一度評価する、とは、 > > (defun foo () > (let ((foobar '(a))) > foobar)) > > を評価することの意味で書きました。 > この他に解釈があるようには思えないのですが… そうおっしゃっても...少なくとも私は実際の操作としては2通りはあると思 います.結果は当然変わります. 1.(setq a '(defun ...)) として再利用. 2."(defun foo ...)" というテキストを read & eval. 1は Interlisp 系での普通のやり方.構造エディタを使うとこうなるのが普 通(西海岸文化). 2は Maclisp, Zetalisp, Emacslisp などでの普通のやり方.テキストエディ タを使うとこうなるのが普通(東海岸文化). CommonLisp では(多分)どちらもあり. 別に黒山さんの書いた事にイチャモンを付けているのではなく,1の使い方を してる人に注意したかった(そうはならないよ,と)だけなんですが. #Lisp システムに於ける「評価」の意味は read & eval ではなく,eval である #というのはいいですね. #最初の記事の最後に書いたように,emacs ではその辺り,マニュアルレベルで #違ってるかもしれませんが.
Technical Details
Message-ID:
<36D4564C.E273EBCD@pop12.odn.ne.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<lzou2x5l5je.fsf@kmserver.aist-nara.ac.jp> <u1zk98biq.fsf@kei.mdcnet.co.jp> <lzosocpb08m.fsf@kmserver.aist-nara.ac.jp> <71emo1lm5n.fsf@herbrand.msi.co.jp> <36D0748D.5D8DD28C@pop12.odn.ne.jp> <714sofnufv.fsf@herbrand.msi.co.jp> <KATE.99Feb22144328@yamato.trad.pfu.co.jp> <71u2wflzmb.fsf@herbrand.msi.co.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: ff358,4952fe316c949c01 X-Google-Attributes: gidff358,public X-Google-Thread: fe524,b1de047fcafc1e56 X-Google-Attributes: gidfe524,public From: Hideki Kato <katoh@pop12.odn.ne.jp> Subject: Re: [Q] various questions Date: 1999/02/25 Message-ID: <36D4564C.E273EBCD@pop12.odn.ne.jp> X-Deja-AN: 448020096 Content-Transfer-Encoding: 7bit References: <lzou2x5l5je.fsf@kmserver.aist-nara.ac.jp> <u1zk98biq.fsf@kei.mdcnet.co.jp> <lzosocpb08m.fsf@kmserver.aist-nara.ac.jp> <71emo1lm5n.fsf@herbrand.msi.co.jp> <36D0748D.5D8DD28C@pop12.odn.ne.jp> <714sofnufv.fsf@herbrand.msi.co.jp> <KATE.99Feb22144328@yamato.trad.pfu.co.jp> <71u2wflzmb.fsf@herbrand.msi.co.jp> X-Accept-Language: en,ja Content-Type: text/plain; charset=iso-2022-jp X-Complaints-To: news@odn.ad.jp X-Trace: newsgw8.odn.ne.jp 919887830 25824 210.231.49.253 (24 Feb 1999 20:23:50 GMT) Organization: - Mime-Version: 1.0 NNTP-Posting-Date: 24 Feb 1999 20:23:50 GMT Newsgroups: fj.editor.emacs,fj.comp.lang.lisp