かわじ、です。
> 『dRubyによる分散・Webプログラミング』という本をリ
> リースしました。
楽しく読ませていただきました。
dRuby は、ぜひ使ってみたいものなのですが、どうにも敷居が高く感じられていま
した。付属のライブラリもいろいろ紹介されていたので、また挑戦してみようとい
う気になっています。ありがとうございます。
少し気付いたことがありますので、この場を借りてご報告します。
もし、私の読み違いでしたら、すみません。
P.12 の 9行目くらい
「もう一度サーバを起動させましょう」とあり、【ターミナル 1】
% ruby puts00.rb と起動させていますが、引数に URLの指定が必要だと思います。
=> % ruby puts00.rb druby://localhost:12345
P.24 の真ん中下くらい
ERB.new について、「trim_mode(後述) を指定できる」とありますが、
trim_mode の説明は、その後も無いと思います。
P.84 の真ん中くらい
これは読み手側の理解力の問題かもしれませんが、「ロックを解除(アンロック)
してよいのは通常ロックしたスレッドだけです」とした直後に、「アンロックは
どのスレッドからも可能です」と、全く逆なようなことが書いてあります。
これは後を読めば「原則(ロックしたスレッドだけ) と可能性(どのスレッドでも
可能)」の違いなんだな、と分かりますが、最初はちょっと驚きます。
「〜ロックしたスレッドだけです。しかし実際は、アンロックは〜」と、逆接の
接続詞を付けた方が良い気がします。
P.145 の下のほう
ソース中に update_div() というメソッドが出てきますが、これの説明が無いよ
うに思いました。自分で調べれば良いだけなのですが、他のメソッドについては
きちんと説明してあったので、気になりました。
P.168 の下のほう
これも細かい話ですが、ソース中、タプルを take する際に、Integer での
マッチをするようになっています。しかし、この時点では「ワイルドカードは
nilで表す」としか書かれてないので、ちょっと疑問に思います。
Object#=== でマッチするというのは、7ページくらい後になって出てくる話なの
で、参照先の注釈を付けたらよいのではと思いました。
P.194 の上のほう
「パターンで値を nil(ワイルドカード) を与えた場合」とあるのは、
「パターンで値に nil(ワイルドカード) を与えた場合」としたら良いのではと
思いました。
P.194 の下のほう
Hash型のタプルのマッチ例の説明として、「タプル(1) には "name", "age" のほ
かに "url" という要素がありますが〜」という文がありますが、例として出され
た内容と合っていませんし、文章も(要素数が違ってもマッチするというような
ことが書いてあるので)間違っている気がします。
P.229 の下のほう
「ファイルの権限を 0666、つまりファイルのオーナ以外読み書き禁止と設定した」
とあるのは、0600 ではないかと思います。
ちょっと主観的なことも書いてしまいましたが、以上です。