西@九大です。

From: Masaki Suketa<CQN02273 / nifty.ne.jp>
> 本文だけ読んでいると直前に「do と end の代わりに {} を使うことも
> でき」るとなっているのに「method 25 do 〜」の例は「代わりに使え
> ない」例になっているんですよね.

ああ、「間違った例」だったんですか。全然気付きませんでした。ていうか、
私は、未だにここで使われている「method」が何を意味しているのかがわかり
ません。少くとも、予約語ではないですよね?

今、思いましたが、予約語に「斜体や太字を用いる」といった変化をつけると、
少くともこういう疑問はなくなり、初心者にも優しいと思います。今から全て
変更するのは難しいかと思いますので、次の本(?)では是非!(煽る人)

実は先日、「Ruby 本購入を機会に、Ruby の勉強を始めた」という知人に、丁
度ここの部分を質問されたのですが、うまく答えられかったので、気になって
いました。彼は、Ruby 本を読んでいって、ここで最初に詰まったそうです。

言ってる事がもっともだったので、彼のメールをそのまま引用させて頂きます。

>> という所なんですが、do〜end と {} の違いを説明しているはずなのにその他
>> の部分も変わっているので、どこが重要なのかわかりません。そもそも 25 っ
>> てなんですか?
>> 
>> 「とりあえず、メソッドの戻り値を使おうと思ったら { } を使う」というの
>> も何を言いたいのかよくわからない……。同じ場面で do〜end を使ったら何
>> が起こるのでしょう?
>> 
>> あー、そもそも「イテレータ」という用語の使い所も微妙にわかりにくいなー。
>> 「メソッド」という概念の部分集合でいいの? ブロックを渡せるメソッドをイ
>> テレータと呼ぶ?
>> 
>> これだけの厚さの本を仕上げたというのは評価に値すると思うのですが、ちら
>> ほらと「わかる人にはわかる」という説明になってしまっている所があって 
>> OO 初心者にはつらいです。ふう〜。

最後の意見が特に印象的でした。もとから Ruby を使ってる人は、ある程度の
予備知識がある為に、多少説明が足りなくても行間の意味を補完して読めるだ
けに、こういう初心者の意見は大変有意義だと思います。

------------------------------------------------------------------
九州大学大学院システム情報科学研究科 情報工学専攻 博士後期課程三年
      西 和則   ( e-mail: kazunori / swlab.csce.kyushu-u.ac.jp )
------------------------------------------------------------------