Ruby Instarller for Windows 2.0.0-p0を使ってRubyをインストールした場合、irbコマンドを実行したときに以下のように「DL is deprecated, please use Fiddle」という警告が表示されます。
ruby 2.0.0p0 (2013-02-24) [x64-mingw32] C:\Users\gotoyuzo>irb DL is deprecated, please use Fiddle >>
これはRuby Installer for Windowsに添付されているreadlineライブラリがDLという古いライブラリを使っているためです。警告されていますが、使用上の問題は特にありません。疑問に思われるかもしれませんので補足しておきます。
プログラムと説明で使っているメソッド名が違っています。
誤 printメソッドが繰り返し実行されるのがわかります。 正 putsメソッドが繰り返し実行されるのがわかります。
実行するスクリプト名が誤っています。
誤 > ruby happybirthday.rb Ruby 正 > ruby happy_birth.rb Ruby
実行するスクリプト名が誤っています。
誤 > ruby hello_ruby.rb 正 > ruby hello_ruby2.rb
requireでスクリプトと同じディレクトリにあるファイルを読み込むには、パスを明示しなければいけません。
誤 4: require "sub" 正 4: require "./sub"
p.63の図4.1中のrequireも同様です。
pメソッドとその引数の配列の間に半角空白が必要です。空けないと変数pへのインデックスアクセスのように解釈されます。
誤 p[i,lang] 正 p [i,lang]
のちのページのサンプルでx=メソッドやy=メソッドを使うため、attr_readerではなくattr_accessorを使ってください。
誤 attr_reader :x, :y 正 attr_accessor :x, :y
io.binmodeは引数を受け取りません。
誤 io.binmode 15 正 io.binmode
設問が適切ではありません。第2刷以降では以下のように変更されます。
(3)str.encode("Shift_JIS")
とstr.encode("Windows-31J")
を実行したときに結果が異なるような、UTF-8の文字列str
を見つけてください。
Procオブジェクトを実行するにはProc#callかProc#[]を使います。
誤 p square(5) 正 p square[5]
Fileクラスの参照先が261ページになっていますが、正しくは361ページです。