Ruby 1.9.2からカレントディレクトリ(「.」)が$LOAD_PATH(p.374)から外されました。 use_hello.rbは、カレントディレクトリに置かれたライブラリを利用するサンプルなので、 Ruby 1.9.2以降を使っている場合はここに書かれている方法では実行することができません。 以下のいずれか方法で対応してください。
requireメソッドの引数でディレクトリパスを明示する。
require "./hello" # hello.rbの読み込み(「.rb」は必要ない) hello() # helloメソッドの起動
Rubyを実行する際に-Iオプション(p.366)でカレントディレクトリを指定する。
[実行例] > ruby -I . use_hello.rb Hello, Ruby.
requireメソッドではなく、require_relativeメソッドでライブラリを読み込む。
require_relative "hello" # hello.rbの読み込み(「.rb」は必要ない) hello() # helloメソッドの起動
最初の2つの例では、Rubyを実行したときのカレントディレクトリを検索する指定を追加していますが、 require_relativeメソッドはこのメソッドを呼び出したファイル(この場合はuse_hello.rb)が置かれた ディレクトリからの相対パスでライブラリを検索するため意味が異なります。
単にプログラムを複数のファイルに分割して作成するようなケースでは、 実行時にどのようなパス名でライブラリを参照するか気にする必要がないため、 require_relativeメソッドが便利です。
require_relativeメソッドはRuby 1.9.0から提供されています。 このメソッドは「たのしいRuby」の本文では紹介していません。
フローチャートの一番右の条件が「i == 4 ?」となっていますが「i == 3 ?」の誤りです。
Ponitクラスのswapメソッドの3行目を以下のように修正してください。
def swap(other) # x, yの値を入れ換えるメソッド tmp_x, tmp_y = @x, @y @x, @y = other.x, other.y 誤 other.x,other,y=tmp_y,tmp_x# 同一クラス内では 正 other.x, other.y = tmp_x, tmp_y # 同一クラス内では # 呼び出すことができる return self end
クラス名が誤っています。
誤 (4)..,、応答メッセージを表現するNet::HTTPResposeオブジェクトに格納する (5)Net::HTTPResposeオブジェクトの機能によって... 正 (4)..,、応答メッセージを表現するNet::HTTPResponseオブジェクトに格納する (5)Net::HTTPResponseオブジェクトの機能によって...
Math.atan2メソッドの引数の表記が誤っています。
誤 atan2(x) 正 atan2(x, y)
設問の括弧の中の例が誤っています。
誤 (1)の配列から3の倍数だけを取り出した,新しい配列a3を作ってください(a3[0]は1,a3[2]は4になります)。 正 (1)の配列から3の倍数だけを取り出した,新しい配列a3を作ってください(a3[0]は3,a3[2]は9になります)。
本文の1行目の終わりから2行目にかかる文を以下の訂正します。
誤 新しいの有効範囲を作るために 正 新しい有効範囲を作るために