[ruby-list:359] Re: modify syntax(Re: operator)

From: matz@... (Yukihiro Matsumoto)
Date: 1996-07-30 01:28:12 UTC
List: ruby-list #359
まつもと ゆきひろです.

In message "[ruby-list:358] Re: modify syntax(Re: operator)"
    on 96/07/29, TAKAGI Hiromitsu <takagi@center.nitech.ac.jp> writes:

| >   ||
| >   &&
|なのに
| >   or
| >   and 
|ではない
|というのは、気持ち悪いのですが、何か狙いがあるのでしょうか?

もちろん普通に考えたらそちらの方が自然な気がしますよね.だか
ら,最初はそのような優先順位になっていました.しかし,実際に
andとorの使われ方を考えると,式としてよりも文としての側面が
強い気がしました.つまり,自然言語のandとorに結合強度はない
だろうと思ったんです.

# 実際の使われ方で混在することはほとんど無いような….

というわけで,私にとって

  a or b and c

は

  (a or b) and c

と左結合してくれた方が読みやすく感じたからです.この辺は私が
演算子の優先順位をすぐ忘れてしまうことにも関係しているかも知
れません(たとえ自分の作った言語でも).もちろん,数式に近い

  a || b && c

は

  a || (b && c)

と結合した方が良いと思いますし,実際そうなっています.

|# ruby における and と &&, or と || の違いをまだ勉強してないので
|# すごくハズしているかもしれないですが…。

全然,外していないです.鋭い指摘ですね.

例えばpascalなどではandやorはちゃんとした(変ないい方ですが)
演算子であるわけで,現在の優先順位は誤解を招きやすいというの
ももっともな意見だと思います.この修正は簡単ですので(ソース
を1行修正するだけ),議論の結果変更すべきだということになれば,
いつでも対応できます.

# でも,自分では今の方が良いと思っています.

                                まつもと ゆきひろ /:|)

In This Thread

Prev Next