原です。

メーリングリストの Web 掲示は、そのうち www.ruby-lang.org に
上納(?)する予定ですが、一応、本の567ページの

  http:/blade.nagaokaut.ac.jp/ruby/ruby-list/index.shtm/
  http:/blade.nagaokaut.ac.jp/ruby/ruby-dev/index.shtm/
  http:/blade.nagaokaut.ac.jp/ruby/ruby-ext/index.shtm/
  http:/blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtm/

の最後の / は取って下さい。(でもこのままでも繋がるみたい。)


ついでに言うと、566、567ページのページ番号自体が消えていま
す。(^^;


それから、122ページの csv_split ですが、

def csv_split(source, delimiter = ',')
  csv = []

  qd = Regexp.quote(delimiter)
  source.scan(/(([^"#{qd}]?[^#{qd}]*)|"(([^"]|"")*)"|)(#{qd}|$)/) do
    |match, m1, m2, *rests|
    if m2
      csv.push m2.gsub(/""/, '"')
    else
      csv.push m1
    end
  end
  csv
end

scan の正規表現内の最初の ? と、後ろから2番めの | は無い方がいい
と思います。でもただ取ればいいのではないので難しいですね。

def csv_split(source, delimiter = ',')
  csv = []

  qd = Regexp.quote(delimiter)
  source.scan(/(([^"#{qd}][^#{qd}]*)|"(([^"]|"")*)")(#{qd}|$)|#{qd}/) do
    |match, m1, m2, *rests|
    if m2
      csv.push m2.gsub(/""/, '"')
    elsif m1
      csv.push m1
    else
      csv.push ""
    end
  end
  csv
end

でなんとかなると思うけどもっと良い直し方募集中。


#あと、バナナ、りんご、みかん、メロン、キーウィーの順にくだものを
#並べる事に関して、私は著作権を主張したい、、、:-)