[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bep] weather



井上です。
# 出社早々

Reiko TAKAHASHI <HFC03614@...> (高橋玲子) writes:

> Lispって、DOSのバッチファイルみたいに上(の左側)から順にコマンドを処理し
> ていくのではなくて、ちょうど算数の数式のように、括弧を見ながら、いちばん
> 深い(?)ところから順に処理していく……んですね??! だからこそ、「静かな
> 湖畔」状態になってしまうんだということに、今になって気づきました。

そんな風なものです。
本当は浅いところから深いところへ向かいながら、同じ深さのところでは左か
ら右へ処理していくようです。ただし、左から右へ処理している途中でもっと
深いところがあったらまずそっちをやって、その「結果」があれば結果の方が
そこにあったと思ってまた右へ進み始める、みたいな。
この結果」というのは、たとえば
(weather-from-http "東京地方")
だったら"明日の東京地方は雨です"とかだし、
(+ 1 (* 2 3 ))
の(* ) の部分だったら6ということになります。
ただし、見かけると思いますが(progn ...) とか(save-excursion ...) とか
(lambda () ...)とかの中身では、この「結果」は一番右にあったものだけが
外に影響します。

>  でもでも、これってメールを送ってしまう直前(もう後戻りはできない状態)
> でお天気を入れることになっていますよね? なぜ現在位置を保存しなければな
> らないのでしょう……?

もしかしたらsave-excursionは不要なのかも知れません。ただ、この処理の前
後でバッファに対する影響を「お天気: ...」以外に残したくなかったのでこ
うしました。その後でMewがどういう処理をするのか調べなかったので。

>  ……そう言いたくなる気持ち、すでにわかる気がします。
> いろいろな種類の括弧があったらもう少し楽そうなのに……。

それだと、後から改造するときに一段深くするとかがとても大変な気がします。

さて、そろそろタイムリミットなので後ほど。

-- 
                    Koichi Inoue, ARGV
                    E-Mail: inoue@...
                    ICQ UIN: 74900690