[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bep] learning lisp: if, and, cond
- To: bep@argv.org
- Subject: Re: [bep] learning lisp: if, and, cond
- From: TAKAHASHI Naoto <ntakahas@m17n.org>
- Date: Tue, 19 Jun 2001 13:22:23 +0900 (JST)
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
- User-Agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.0.104 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)
Koichi INOUE writes:
> 私はR高橋さんの答えを読んだときに、「あれ?条件が成立しないときのnil
> は?」と思ったのですが、よくよく考えると条件が成立しない→if内で最後に
> 評価された式の値がnilなので、それでいいということか、と感心してしまい
> ました。きっと自分ならなにも考えずにnilと書いただろうと思います。
「if 内で最後に評価された式の値が nil なので if の値も nil」、つまり
「if 全体の値は if の中で評価された最後のS式の値と同じ」という理屈です
か。んー、たしかにそういう考え方もできますね。
私は (if 条件 S式) という短い形の if は、「条件」が成立しなければアプ
リオリに nil を返すものだと考えていました。結果的には同じですけど。
> きっと自分ならなにも考えずにnilと書いただろうと思います。
プログラミング作法的には、明示的に nil を書いた方がいいと思います。私
は最近では、else 部分が必要ないときは if ではなくて when を使うように
心がけています。
--
TAKAHASHI Naoto
ntakahas@...
http://www.m17n.org/ntakahas/