なかだです。

At Sat, 25 Sep 1999 22:29:31 +0900,
matz / netlab.co.jp (Yukihiro Matsumoto) wrote:
> |  文でも式にはできるんですよね。実際 p((nil or "")) はエラーにな
> |らないし。私個人としては、実行文と式の区別って無意味だと思っては
> |いるんですが。盲腸のようなもんで。
> 
> Rubyには実行文と式の区別はありませんが、優先順の違いとしての
> 文と式の区別は将来にわたって存在するでしょう。ですから、こっ
> ちは盲腸ではないです。

  Rubyでは実行文と式の区別はないのは分かってます。っていうか、そ
のへんが最初に気に入った理由だったりしますが。盲腸というのは、
Ruby以外の言語を含めた一般的な話です。

> Rubyの文ってのは要するにかっこでくくらなければ他の式の一部に
> なれないタイプの式のことです。たとえば引数のかっこのないメソッ
> ド呼び出しだとか、andとかorとか。

  つまり p((nil or "")) とかいう場合のカッコは、内側と外側は文法
要素としては別物なので一重に還元はできない、ということでしょうか。
なんだか二重のカッコというのがいまいち落ち着かない感じがするので
すが。また、if とか case とか end で終るタイプの文はカッコでくく
らなくても大丈夫なようですが、このタイプの「文」はあとは修飾子だ
けでしょうか。

  いずれにせよ、ハマった人間もいることですし、FAQ かどこかで注意
を促しておいたほうがいいような気がします。そんなに Frequently で
はないかも知れませんが。

-- 
そうだ 強気に ちょっと インチキに☆彡
    中田 "Bugるくらいがちょうどいいかも;-)" 伸悦