[#3536] Re: [ruby-list:10256] Re: for が修飾子だったら — Junichi Kurokawa <jun@...>

Reply-To: ruby-devとしました。

15 messages 1998/10/22

[ruby-dev:3550] Re: for が修飾子だったら

From: ARIMA Yasuhiro <fit0298@...>
Date: 1998-10-27 07:03:48 UTC
List: ruby-dev #3550
Regard to "[ruby-dev:3548] Re: [ruby-list:10256] Re: for    が修飾子だったら"

有馬@FITECです。

私が書くのも変かもしれませんが。

>    Y>   ary.sort
>    Y> と
>    Y>   ary.sort{|a,b| b<=>a}
>    Y> にしましょうか? それぞれ意味のある動作をしますが.
>
>sortは返り値を期待して呼ぶものですが。
>
>eachには意味のある返り値がありません。副作用を期待して呼ぶものです。で、
>その副作用を与えるブロックを省略したeach;に何の意味があるの?と聞いたと
>ころ、松本さんは「each;は引数である文を省略した呼び出しであり正しい」と
>繰り返すばかりで、これでは議論はかみ合いません。

each というメソッドを特別扱いすることはない、という話だと思っていました。
each というメソッドが、イテレータブロックを持つとは限らないという話も
ありました。返り値の有無やそれが有意かどうかは、形式だけではわからないと
いうことで理解しました。

perl での ; のように文の終了を明示する代りに、改行を文の終了とみなすと
いうのが ruby の仕様なので、foo.some_method という式の後ろに改行があれば、
そこで文は完結します。

なぜ改行を文の終了とみなすようにしたのか?という話でしたら、いろいろ
検討して今の仕様になったということだそうですが。よくわかりません。
私は、今の仕様を支持します。

>いずれにせよ「rubyはcontext-freeな処理系では無いのではないか」という当初
>からの疑問に対する答えは「rubyはcontext-freeな処理系では無い」であること
>が判明したので、これを結論とします。

context-free ではありません。
初めて見た疑問ですが、結論が出たならよかったですね。

# 私の理解、変ですか?

--
 有馬 康弘 <fit0298@fitec.co.jp>

In This Thread

Prev Next