Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2006-02-25

[Ruby]「オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル」を読もう

  • ドキュメントがないとゆっている人がいるという噂
  • このリファレンスマニュアルは良いらしい

この両極の話をよく聞きます。オレ自身「リファレンスマニュアル」をちゃんと読んだことはなく、すでに知っている機能の検索くらいにしか使っていません。最近は書いてあることが理解できるだけの基礎力がついてきた気がするのでちゃんと読んでみたいと思います。これは今年の目標にしたいですね。

リファレンスマニュアルの入手

まずはリファレンスマニュアルの入手から。「Windows HTML Help版」が好きなんですが、過去に自分でダウンロードしてこようとするとなかなか見つけることが出来なかった覚えがあります。最近は「Ruby の歩き方」があるので大変便利になりました(あれタイトルが「FirstStepRuby」に変わってる(追記:一時的な障害だったようです)。「Ruby の歩き方」って覚えやすくて気に入ってたのに)。

リファレンスマニュアルのデザイン

デザインの印象について述べておきます。このデザインはあまり好きではありません。はじめてみたときとても安っぽいものに見えて(そもそもリファレンスというのはプロによってしっかりデザインされるはずであると思い込んでいた。それまでOSS界隈に縁がなかったのもそういう思い込みを持つ原因だったかと。)、内容を含めたドキュメント全体が質の低いものに感じました。これは印象の問題でドキュメントの質なんて読む前だから知らないのに、とにかくそういうマイナス印象を持ったことを記憶しています。表面にとらわれずちゃんと物事の本質を見極められる人にはわからないことだと思います。Rubyistには本質の見極めがしっかりした人が多い気がするので、なはかなか理解されにくい部分かもしれません。私のように表面にとらわれやすい人に対して損をしているのではないでしょうか。

(しかし字が小さかったりコントラストが低かったりするだけでよく見えるなんてなんたることでしょう。)

はじめに

冒頭の文章(とくに「Rubyは単純で、分かりやすく」の部分)に疑問を感じますが、書いてあることの意味は全部理解できました。やっぱり私にとってはここはRubyをはじめたころ読むべきものじゃなくて今読むべきものですね。今読むと大変面白いです。私にとっての「はじめに」としては難しすぎましたが。

ちなみにクロージャを理解したのはつい昨日で、最近読み返している「ハッカーと画家ハッカーと画家 コンピュータ時代の創造者たち(ポール グレアム) 」に

def foo(n)
  lambda {|i| n += i } end

というコードが出てきてそれをたまたま調べていたためです。

前提として必要とされる知識が多い

ちょっと読むとすぐに感じることですがわからない単語が多いですね。

たとえば「awk の RS 変数のように働きます。」といわれてもわかりません。このリファレンスの対象者は決まっていたり明示されていたりしてるんでしょうか。