正誤・FAQ・追加情報

ISBN4-7561-3254-5 (978-4-7561-3254-3)

(最終更新日:2003/09/29)

オブジェクト指向スクリプト言語Ruby
RSS RSSについて
お持ちの本の刷数
※刷数毎に未修正の誤記のみを再表示します。刷数は巻末の発行年月日の
右隣をご覧ください。例:"初版発行"⇒初刷、"第1版第2刷発行"⇒2刷
正誤情報-1 2002/07/03:更新
26ページ
8行目


3刷で訂正
 誤  "# ネットワーク経由で時間を得る"
 正  "# ネットワーク経由で時刻を得る"
正誤情報-2 2002/07/03:更新
28ページ
リストの下から7行目


2刷で訂正
 誤  "while gets"
 正  "while gets()"
正誤情報-3 2002/07/03:更新
33ページ
21行目


2刷で訂正
 誤  "〜の方法については「はじめに」を参照してください。"
 正  "〜の方法については「本書の構成」を参照してください。"
正誤情報-4 2002/07/03:更新
38ページ
表2-1の表題


2刷で訂正
 誤  "表2-1 組み込み関数"
 正  "表2-1 組み込みメソッド(抜粋)"
正誤情報-5 2002/07/03:更新
41ページ
20行目


2刷で訂正
 誤  "〜がまとめられていて、Math.atan(1,1)や"
 正  "〜がまとめられていて、Math::atan(1,1)や"
正誤情報-6 2002/07/03:更新
51ページ
13行目


3刷で訂正
 誤  "〜たとえば、$*は代入するとエラーになる、〜"
 正  "〜たとえば、$$は代入するとエラーになる、〜"
正誤情報-7 2002/07/03:更新
52ページ
表の14行目「ENV」


2刷で訂正
 誤  "環境変数を表す連想配列"
 正  "環境変数を表すハッシュ"
正誤情報-8 2002/07/03:更新
69ページ
下から2行目


2刷で訂正
 誤  "次の文字は区切り文字になり、〜"
 正  "タイプ指定文字に続く文字は区切り文字になり、〜"
正誤情報-9 2002/07/03:更新
71ページ
表2-6
下から3行目


5刷で訂正
 誤  s.split([reg,[limit]])
 正  s.split([reg[,limit]])
正誤情報-10 2002/07/03:更新
73ページ
表2ー7の7行目


3刷で訂正
 誤  "空白文字。[\t\n\r\f]"
 正  "空白文字。[ \t\n\r\f]"

※「\」はバックスラッシュになります。
正誤情報-11 2002/07/03:更新
80ページ
最下行


5刷で訂正
 誤  "ついでに 2 番目以降の区切りの From は直前に改行がくる必要があるので、その点も押さえておきましょう。"
 正  この1文を削除。
正誤情報-12 2002/07/03:更新
81ページ
6行目


2刷で訂正
 誤  if line =~ /(\A|\n\n)From /
 正  if line =~ /^From /

※「\」はバックスラッシュになります。
正誤情報-13 2002/07/03:更新
82〜84ページ


2刷で訂正
 誤  この範囲に出てくる "2 バイト文字"
 正  すべて "多バイト文字" に訂正します。
正誤情報-14 2002/07/03:更新
82ページ
脚注*60


2刷で訂正
 誤  "具体的には \ や " がくることがありえます。"
 正  "具体的には \ がくることがありえます。"

※「\」はバックスラッシュになります。
正誤情報-15 2002/07/03:更新
84ページ
13行目


2刷で訂正
 誤  "〜。 jcode モジュールを require すると〜"
 正  "〜。 jcode ライブラリを require すると〜"
正誤情報-16 2002/07/03:更新
86ページ
表2ー12の13行目


2刷で訂正
 誤  io.read(size?)
 正  io.read([size])
正誤情報-17 2002/07/03:更新
87ページ
2、4、17行目


2刷で訂正
 誤  "〜とします。 IO#getlinegets とほぼ〜"
"〜に使います。 readline はファイルの各行を〜"
"lines = io.getlines      # 配列として読み込み"
 正  "〜とします。 IO#readlinegets とほぼ〜"
"〜に使います。 readlines はファイルの各行を〜"
"lines = io.readlines      # 配列として読み込み"
正誤情報-18 2002/07/03:更新
87ページ
1行目


3刷で訂正
 誤  "〜読み込んで、行末では nil を〜"
 正  "〜読み込んで、EOF では nil を〜"
正誤情報-19 2002/07/03:更新
88ページ
表2-13の9行目


3刷で訂正
 誤  f.seek(pos)
 正  f.seek(pos, whence)
正誤情報-20 2002/07/03:更新
89ページ
リストの下から2行目


3刷で訂正
 誤  s.print "GET #{path} HTTP 1.0\r\n\r\n"
 正  s.print "GET #{path} HTTP /1.0"

※「\」はバックスラッシュになります。
正誤情報-21 2002/07/03:更新
89ページ
リストの下から4行目


2刷で訂正
 誤  s = TCPsocket::open(host,port)
 正  s = TCPSocket::open(host,port)
正誤情報-22 2002/07/03:更新
89ページ
7行目


2刷で訂正
 誤  "〜を開くためには TCPSocket.open(host,port) を使います。〜"
 正  "〜を開くためには TCPSocket::open(host,port) を使います。〜"
正誤情報-23 2002/07/03:更新
90ページ
リストの4行目


2刷で訂正
 誤  gs = TCPServer.open(0)
 正  gs = TCPServer::open(0)
正誤情報-24 2002/07/03:更新
92ページ
表2ー14の9と13行目


3刷で訂正
 誤  "a * a      配列の a 回の繰り返し"
"a << array1     array1 を配列の末尾に追加"
 正  "a * n      配列の n 回の繰り返し"
"a << x     x を配列の末尾に追加"
正誤情報-25 2002/07/03:更新
93ページ
表2ー15の下から2行目


2刷で訂正
 誤  "値からキーへの連想配列"
 正  "値からキーへのハッシュ"
正誤情報-26 2002/07/03:更新
93ページ
12行目


3刷で訂正
 誤  "デフォルト値の指定は、 Hash#default メソッドで指定し"
 正  "デフォルト値の指定は、 Hash#default= メソッドで指定し"
正誤情報-27 2002/07/03:更新
101ページ
下から5行目


3刷で訂正
 誤  "Enumerable クラスは各要素に対する〜"
 正  "Enumerable モジュールは各要素に対する〜"
正誤情報-28 2002/07/03:更新
106ページ
8行目


3刷で訂正
 誤  "〜と EOFError 例外を返す readline の〜"
 正  "〜と EOFError 例外を発生させる readline の〜"
正誤情報-29 2002/07/03:更新
108ページ
リストの4行目


2刷で訂正
 誤  gs = TCPServer.open(0)
 正  gs = TCPServer::open(0)
正誤情報-30 2002/07/03:更新
109ページ
中段のリストの2行目


2刷で訂正
 誤  mutex = Mutex.new
 正  mutex = Mutex::new
正誤情報-31 2002/07/03:更新
110ページ
表2-17の2〜6行目


2刷で訂正
 誤  Thread.start
Thread.current
Thread.exit
Thread.pass
Thread.stop
 正  Thread::start
Thread::current
Thread::exit
Thread::pass
Thread::stop
正誤情報-32 2002/07/03:更新
112ページ
リストの1行目


2刷で訂正
 誤  Thread.start do
 正  Thread::start do
正誤情報-33 2002/07/03:更新
117ページ
下から11行目


2刷で訂正
 誤  "〜ができます。 String.split(delimiter) は、〜"
 正  "〜ができます。 String#split(delimiter) は、〜"
正誤情報-34 2002/07/03:更新
122ページ
リスト3ー3の6行目


2刷で訂正
 誤  source.scan(/(([^"#{qd}]?[^#{qd}]*)|"(([^"]|"")*)"|)(#{qd}|$)/) do
 正  source += delimiter     # (C) 文字列の末尾にデリミタを追加
source.scan(/(([^"#{qd}][^#{qd}]*|)|"(([^"]|"")*)")#{qd}/) do
正誤情報-35 2002/07/03:更新
123ページ
15〜21行目


2刷で訂正
 誤  (#{qd}|$)
です。これは (A) でエスケープしたデリミタ qd か文字列の最後 ($) であるかを意味しています。
 次は、“(第1パターン)”の

([^"#{qd}]?[^#{qd}]*)

です。この正規表現は、先頭が“"”かデリミタで始まっていない普通のフィールドである場合を表しています。この場合は、“"”以外で始まりデリミタ以外の文字列が続き最後に(デリミタパターン)で終了することを意味しています。
 正  #{qd}
です。これは、各フィールドがデリミタ delimiter で終了することを意味しています。最終フィールドはデリミタで終了しませんが (C) で対象文字列にデリミタ delimiter を追加して各フィールドは必ずデリミタで終了するようにしています。次は、“(第1パターン)”の

([^"#{qd}][^#{qd}]*|)

です。この正規表現は、先頭が“"”かデリミタで始まっていない普通のフィールドか、空のフィールドであることを表しています。この場合、正規表現全体にマッチする文字列は、“"”以外で始まりデリミタ以外の文字列が続き最後に(デリミタパターン)で終了するか、いきなり(デリミタパターン)で終了する文字列になります。
正誤情報-36 2002/07/03:更新
124ページ
2行目


3刷で訂正
 誤  "した方がと言えるでしょう。"
 正  "した方がよいと言えるでしょう。"
正誤情報-37 2002/07/03:更新
126ページ
18行目


3刷で訂正
 誤  "●IN_QFILED---"
 正  "●IN_QFIELD---"
正誤情報-38 2002/07/03:更新
137ページ
下から5行目


3刷で訂正
 誤  $OPTS_h 、 $OPTS_i 、 $OPTS_k 、 $OPTS_n 、 $OPTS_p 、 $OPTS_q 、 $OPTS_s 、 $OPTS_help
 正  $OPT_h 、 $OPT_i 、 $OPT_k 、 $OPT_n 、 $OPT_p 、 $OPT_q 、 $OPT_s 、 $OPT_help
正誤情報-39 2002/07/03:更新
148ページ
8と12行目


3刷で訂正
 誤  $ftp.mdtm(fname = ~ MDTM_REGEXP
Time.gm(year, month, date, hour, min, sec
 正  $ftp.mdtm(fname) =~ MDTM_REGEXP
Time::gm(year, month, day, hour, min, sec)
正誤情報-40 2002/07/03:更新
151ページ
リスト3ー18の16行目


3刷で訂正
 誤  Mtalk = TCPsocket.open(host, ARGV, shift)
 正  Mtalk = TCPSocket.open(host, ARGV, shift)
正誤情報-41 2002/07/03:更新
152ページ
下から2行目


3刷で訂正
 誤  TCPsocket.open(host, service)
 正  TCPSocket.open(host, service)
正誤情報-42 2002/07/03:更新
154ページ
リスト3ー19の8行目


2刷で訂正
 誤  require "pp"
 正  require "mtalk-prot"
正誤情報-43 2002/07/03:更新
154ページ
リスト3ー19の11行目


2刷で訂正
 誤  Accepter = TCPserver.open(0)
 正  Accepter = TCPServer.open(0)
正誤情報-44 2002/07/03:更新
156ページ
本文の4〜5行目


3刷で訂正
 誤  "TCPserver.open(service)"
"TCPsocket.open()"
 正  "TCPServer.open(service)"
"TCPSocket.open()"
正誤情報-45 2002/07/03:更新
157ページ
2行目


2刷で訂正
 誤  Thread.start do
 正  Thread::start do
正誤情報-46 2002/07/03:更新
157ページ
表3ー6の2〜3、6行目


2刷で訂正
 誤  Thread.current
Thread.exit
Thread.start
 正  Thread::current
Thread::exit
Thread::start
正誤情報-47 2002/07/03:更新
159ページ
6行目


2刷で訂正
 誤  require "pp"
 正  require "mtalk-prot"
正誤情報-48 2002/07/03:更新
169〜170ページ
図4ー1と4ー2
見出し


2刷で訂正
 誤  "図4-1 ポルモリフィズムがない場合の表示ルーチン"
"図4-2 ポルモリフィズムをサポートした言語における表示ルーチン"
 正  "図4-1 ポリモルフィズムがない場合の表示ルーチン"
"図4-2 ポリモルフィズムをサポートした言語における表示ルーチン"
正誤情報-49 2002/07/03:更新
172ページ
2行目


3刷で訂正
 誤  "〜はその型のクラスのサブクラスのオブジェクトかそのサブクラスの〜"
 正  "〜はその型のクラスのオブジェクトかそのサブクラスの〜"
正誤情報-50 2002/07/03:更新
174ページ
6行目


3刷で訂正
 誤  "〜の同名のメソッドが〜"
 正  "〜の同名のメソッドを〜"
正誤情報-51 2002/07/03:更新
181ページ
14行目


3刷で訂正
 誤  "6. スーパークラスがある限り 4 に戻る"
 正  "6. スーパークラスがある限り 3 に戻る"
正誤情報-52 2002/07/03:更新
185ページ
脚注*21


2刷で訂正
 誤  "〜オブジェクトに対応して特異メソッドが存在しています。"
 正  "〜オブジェクトに対応して特異クラスが存在しています。"
正誤情報-53 2002/07/03:更新
186ページ
下から2行目


2刷で訂正
 誤  "〜を生成しているかは 8.5.3 を参照して〜"
 正  "〜を生成しているかは 8.6.3 を参照して〜"
正誤情報-54 2002/07/03:更新
190ページ
リストの1、5行目


3刷で訂正
 誤  class Foo
moudle_function :example
 正  module Foo
module_function :example
正誤情報-55 2002/07/03:更新
214ページ
表5ー1の5行目


3刷で訂正
 誤  "現在の盤面     @state"
 正  "現在の盤面     @state 、 @over"
正誤情報-56 2002/07/03:更新
217ページ
18行目


2刷で訂正
 誤  @data[x*@wi+y]
 正  @data[x*@wi+x]
正誤情報-57 2002/07/03:更新
230ページ
5行目


3刷で訂正
 誤  List list<Item*>;
 正  List<Item*> list;
正誤情報-58 2002/07/03:更新
233ページ
下から4〜3行目


3刷で訂正
 誤  "〜、 Enumerable#find_ifArray#delete_if などがあります。 Enumerable#find_if はブロックを評価した結果が〜"
 正  "〜、 Enumerable#findArray#delete_if などがあります。 Enumerable#find メソッドはブロックを評価した結果が〜"
正誤情報-59 2002/07/03:更新
236ページ
表5ー3の10、17行目


2刷で訂正
 誤  "e.length(item)"
"e.size(item)"
 正  "e.length"
"e.size"
正誤情報-60 2002/07/03:更新
243ページ
3、8〜9行目


3刷で訂正
 誤  各行頭の"fail"
 正  "raise"
正誤情報-61 2002/07/03:更新
253ページ
リスト6-5


3刷で訂正
 誤  4個の"over writed"のスペル
 正  "overwritten"
正誤情報-62 2002/07/03:更新
255ページ
下から6行目


3刷で訂正
 誤  "〜の使いやすさは、リスト 6-5、リスト 6-5 を見ていた〜"
 正  "〜の使いやすさは、リスト 6-4、リスト 6-5 を見ていた〜"
正誤情報-63 2002/07/03:更新
266ページ
19〜20行目


3刷で訂正
 誤  → g1.x.hash == g2.x.hash and g2.y.hash == g2.y.hash
→ g1.x.hash ^ g2.y.hash == g2.x.hash ^ g2.y.hash
 正  → g1.x.hash == g2.x.hash and g1.y.hash == g2.y.hash
→ g1.x.hash ^ g1.y.hash == g2.x.hash ^ g2.y.hash
正誤情報-64 2002/07/03:更新
270ページ
リスト6-9の13行目


2刷で訂正
 誤  DefaultCompetitionArea =[
 正  b_CompetitionArea =[
正誤情報-65 2002/07/03:更新
275ページ
下から9行目


3刷で訂正
 誤  "各々のオブジェクトへの参照は TkLifeGame からのインスタンス変数で持つことにします。"
 正  "各々のオブジェクトへは TkLifeGame からのインスタンス変数で参照することにします。"
正誤情報-66 2002/07/03:更新
305ページ
本文9行目


2刷で訂正
 誤  "〜、TAGS#initialize をリスト 6-16 のようにします。"
 正  "〜、TAGS#initialize をリスト 6-17 のようにします。"
正誤情報-67 2002/07/03:更新
363ページ
2〜3行目


3刷で訂正
 誤  2カ所の"Rational.deduce"
 正  "Rational.reduce"
正誤情報-68 2002/07/03:更新
409ページ
下から8行目


3刷で訂正
 誤  "〜のアドレスをに教えてやる必要が〜"
 正  "〜のアドレスを教えてやる必要が〜"
正誤情報-69 2002/07/03:更新
415ページ
9行目、リストの下から5行目


5刷で訂正
 誤  "〜ネットワーク上の〜"
rb_call(klass, recv, mid ...)
 正  "〜ネットワーク状の〜"
rb_call(klass, recv, mid, ...)
正誤情報-70 2002/07/03:更新
416ページ
下から10〜9行目


3刷で訂正
 誤  "動的ローカル変数の参照はリンクをたぐって行われますので、通常のローカル変数よりも若干効率が悪くなります。"
 正  この1文を削除。
正誤情報-71 2002/07/03:更新
448ページ
本文7行目


2刷で訂正
 誤  "Ruby API の関数リストは付録 C に載せてあります。"
 正  "詳細についてはソースコードに付属の README.EXT を参照してください。"
正誤情報-72 2002/07/03:更新
459ページ
10行目


3刷で訂正
 誤  "rb_rescue()StandartError の〜"
 正  "rb_rescue()StandardError の〜"
正誤情報-73 2002/07/03:更新
465ページ
19行目


3刷で訂正
 誤  "たとえば、Ruby/Jed では〜"
 正  "たとえば、Jed/Ruby では〜"
正誤情報-74 2002/07/03:更新
472ページ
下から7行目


3刷で訂正
 誤  "GIMP ( the GNU Image Processor )"
 正  "GIMP ( the GNU Image Manipulation Program )"
正誤情報-75 2002/07/03:更新
484ページ
25、32行目


2刷で訂正
 誤  "n   2 バイトコードを無視する"
"<</FOO/ : 正規表現"
 正  "n   多バイトコードを無視する"
正規表現の行(32行目)は削除
正誤情報-76 2002/07/03:更新
485ページ
8、10行目


2刷で訂正
 誤  "Class#method(arg) 〜"
"〜 末尾には連想配列を直接置ける"
 正  "Class::method(arg) 〜"
"〜 末尾にはハッシュを直接置ける"
正誤情報-77 2002/07/03:更新
486ページ
「範囲演算子」
条件式の表


3刷で訂正
 誤  条件式---右辺が真になってから、左辺が真になるまで真
..     右辺が真になった直後に左辺をチェック
...    右辺が真になった次の評価で左辺をチェック
 正  条件式---左辺が真になってから、右辺が真になるまで真
..     左辺が真になった直後に右辺をチェック
...    左辺が真になった次の評価で右辺をチェック
正誤情報-78 2002/07/03:更新
487ページ
下から11行目


3刷で訂正
 誤  "expr0 と expr1 ... のうちのいずれかが===でマッチすれば本体を実行する"
 正  "expr1 と expr2 ... のうちのいずれかが===でマッチすれば本体を実行する"
正誤情報-79 2002/07/03:更新
488ページ
17行目


3刷で訂正
 誤  "..."
 正  "...    この begin には rescue や ensure を付けてはいけない"
正誤情報-80 2002/07/03:更新
489ページ
4行目と下から4行目


3刷で訂正
 誤  "rescue TypeError, ArgumentErroe"
"def foo(arg,arg2=default,*rest,&block)"
 正  "rescue TypeError, ArgumentError"
"def foo(arg,arg2)"
正誤情報-81 2002/07/03:更新
490ページ


2刷で訂正
 誤  9行目"def name(arg0,&block) 〜"
18行目"alias new, old 〜"
19行目"undef name... 〜"
23行目"at_exit 〜"
 正  9行目"def name(arg1,&block) 〜"
18行目"alias new old 〜"
19行目"undef name 〜"
23行目"at_exit{...} 〜"
正誤情報-82 2002/07/03:更新
491ページ


2刷で訂正
 誤  3行目"fail 〜"
5行目"fork 〜"
9行目"gsub(x,y)   $_中の x を y ですべて置換する"
11行目"gsub!(x[,y])   $_中のx を y ですべて置換する(元の文字列を変更する)"
15行目"lambda 〜"
16行目"load 〜"
24行目"proc 〜"
35行目"srand 〜"
 正  3行目"fail(...) 〜"
5行目"fork、fork{...} 〜"
9行目"gsub(x[,y])   $_中の x を y ですべて置換する。y 省略時はブロックの評価値で置換する"
11行目"gsub!(x[,y])   $_中のx を y ですべて置換する。y 省略時はブロックの評価値で置換する(元の文字列を変更する)"
15行目"lambda、lambda{...} 〜"
16行目"load(file[, priv]) 〜"
24行目"proc、proc{...} 〜"
35行目"srand([seed]) 〜"
正誤情報-83 2002/07/03:更新
491ページ
30、33行目


3刷で訂正
 誤  "select(r[,w,e,timeout]) 〜"
"split([sep,lim]) 〜"
 正  "select(r[,w[,e[,timeout]]]) 〜"
"split([sep[,lim]]) 〜"
正誤情報-84 2002/07/03:更新
492ページ


3刷で訂正
 誤  4行目"trap(sig,...) 〜"
下から5行目"delete_if 〜"
下から2行目"each_index{|x|...}    配列の各要素に対してインデックスとともに繰り返す"
 正  4行目"trap(sig,command)、trap(sig){...} 〜"
下から5行目"delete_if{...} 〜"
下から2行目は次の2行に置き換えます。
"each_index{|i|...}        配列の各インデックスに対して繰り返す"
"each_with_index{|x,i|...}    配列の各要素に対してインデックスとともに繰り返す""
正誤情報-85 2002/07/03:更新
492ページ


2刷で訂正
 誤  3行目"trace_var(var) 〜"
5行目"untrace_var(var) 〜"
18行目"ary << ary 〜"
29行目"concat 〜"
下から2行目"each_index{|x,i|...}    配列の各要素に対してインデックスとともに繰り返す"
 正  3行目"trace_var(var,command)、trace_var(var){...} 〜"
5行目"untrace_var(var,command)、untrace_var(var){...} 〜"
18行目"ary << item 〜"
29行目"concat(item) 〜"
下から2行目は次の2行に置き換えます。
"each_index{|i|...}    配列の各インデックスに対して繰り返す"
"each_with_index{|x,i|...}    配列の各要素に対してインデックスとともに繰り返す"
正誤情報-86 2002/07/03:更新
492ページ
11行目


5刷で訂正
 誤  "new([size,fill]) 〜"
 正  "new([size[,fill]]) 〜"
正誤情報-87 2002/07/03:更新
493ページ
1、16行目


5刷で訂正
 誤  "fill(val[,beg,len]) 〜"
"push(item) 〜"
 正  "fill(val[,beg[,len]]) 〜"
"push(item,...) 〜"
正誤情報-88 2002/07/03:更新
493ページ
14、16、20行目


2刷で訂正
 誤  "pack 〜"
"push 〜"
"reverse_each 〜"
 正  "pack(template) 〜"
"push(item,...) 〜"
"reverse_each{|x|...} 〜"
正誤情報-89 2002/07/03:更新
494ページ
15行目


3刷で訂正
 誤  "〜 lsb から n バイト目の値"
 正  "〜 LSB から n ビット目の値"
正誤情報-90 2002/07/03:更新
494ページ
5行目


2刷で訂正
 誤  "〜 ビット xor"
 正  "〜 ビット排他的論理和"
正誤情報-91 2002/07/03:更新
496ページ
7行目、下から1〜2行目


2刷で訂正
 誤  "find_all 〜"
"basename(path) 〜"
"chmod(mode, path..) 〜"
 正  "find_all{|x|...} 〜"
"basename(path, suffix) 〜"
"chmod(mode, path,...) 〜"
正誤情報-92 2002/07/03:更新
496ページ


3刷で訂正
 誤  3と4行目の間に以下の文を挿入してください。
"detect{|x|...}    find の別名"
15と16行目の間に以下の文を挿入してください。
"reject{|x|...}    ブロックが偽を返した要素を含む配列を返す"
"select{|x|...}    find_all の別名"
 正  "find_all{|x|...} 〜"
"basename(path, suffix) 〜"
"chmod(mode, path,...) 〜"
正誤情報-93 2002/07/03:更新
497ページ


2刷で訂正
 誤  2行目"〜 ファイルの生成時間"
7行目"join(item,..) 〜"
9行目"〜 symlink を理解する stat"
27行目"〜 ファイルの作成時間"
29行目"〜 symlink を考慮した stat"
 正  2行目"〜 ファイルの生成時間。ctime の結果とは異なることもある"
7行目"join(item,...) 〜"
9行目"〜 シンボリックリンクを理解する stat"
27行目"〜 ファイルの作成時間。ctime(path) の結果とは異なることもある"
29行目"〜 シンボリックリンクを考慮した stat"
正誤情報-94 2002/07/03:更新
497ページ


3刷で訂正
 誤  1行目"chown(o, g, path...) 〜"
3行目"delete(path...) 〜"
5行目"expand_path(path) 〜"
10行目"mtime 〜"
13行目"readlink 〜"
20行目"umask(val) 〜"
21行目"unlink(path...) 〜"
22行目"utime(a,m,path..) 〜"
26行目"chown 〜"
 正  1行目"chown(o, g, path,...) 〜"
3行目"delete(path,...) 〜"
5行目"expand_path(path[,dir]) 〜"
10行目"mtime(path) 〜"
13行目"readlink(path) 〜"
20行目"umask([val]) 〜"
21行目"unlink(path,...) 〜"
22行目"utime(a,m,path,...) 〜"
26行目"chown(o, g) 〜"
正誤情報-95 2002/07/03:更新
499ページ
17行目


3刷で訂正
 誤  "〜 LSB から n バイト目の値"
 正  "〜 LSB から n ビット目の値"
正誤情報-96 2002/07/03:更新
499ページ
7行目


2刷で訂正
 誤  "〜 ビット xor"
 正  "〜 ビット排他的論理和"
正誤情報-97 2002/07/03:更新
500ページ
下から7、1行目


2刷で訂正
 誤  "include? 〜"
"〜 すべて key の含む配列"
 正  "include?(key) 〜"
"〜 すべて key を含む配列"
正誤情報-98 2002/07/03:更新
500ページ


3刷で訂正
 誤  9行目"Hash[key,val...]    ハッシュの生成"
10行目"〜 ハッシュの生成(デフォルト値とサイズを指定できる)"
17行目"default=val 〜"
19行目"delete_if{|key|...} 〜"
 正  9行目"Hash[key,val,...]    ハッシュの生成(引数は必ず偶数個)"
10行目"〜 ハッシュの生成(デフォルト値を指定できる)"
17行目"default=(val) 〜"
19行目"delete_if{|key, val|...} 〜"
正誤情報-99 2002/07/03:更新
501ページ


3刷で訂正
 誤  15行目"foreach(path){|f|...} 〜"
18行目"readlines(path) 〜"
30行目"each_line{|x|...} 〜"
 正  15行目"foreach(path[,rs]){|f|...} 〜"
18行目"readlines(path[,rs]) 〜"
30行目"each_line([rs]){|x|...} 〜"
正誤情報-100 2002/07/03:更新
501ページ
10行目と下から6行目


2刷で訂正
 誤  "value? 〜"
"〜 eof か"
 正  "value?(val) 〜"
"〜 EOF か"
正誤情報-101 2002/08/21:更新
502ページ
17、26行目


2刷で訂正
 誤  "seek 〜"
"ungetc 〜"
 正  "seek(offset, whence) 〜"
"ungetc(char) 〜"
正誤情報-102 2002/08/21:更新
503ページ


2刷で訂正
 誤  4行目"downto(num)    num まで 1 ずつ減らしながら繰り返す"
6行目"step(to, step) 〜"
8行目"times 〜"
9行目"upto    num まで 1 ずつ増やしながら繰り返す"
11〜13行目"private インスタンスメソッド"
下から2行目"〜 private メソッド名の一覧"
最下行"〜 protected メソッド名の一覧"
 正  4行目"downto(min){|x|...}    min まで 1 ずつ減らしながら繰り返す"
6行目"step(limit, step){|x|...} 〜"
8行目"times{|i|...} 〜"
9行目"upto(max){|x|...}    max まで 1 ずつ増やしながら繰り返す"
11〜13行目"プライベートインスタンスメソッド"
下から2行目"〜 プライベートメソッド名の一覧"
最下行"〜 プロテクテッドメソッド名の一覧"
正誤情報-103 2002/08/21:更新
504ページ


2刷で訂正
 誤  1行目"〜 public メソッド名の一覧"
11行目"dump(obj,port) 〜"
12行目"dump(obj) 〜"
 正  1行目"〜 パブリックメソッド名の一覧"
11行目"dump(obj,port[,limit]) 〜"
12行目"dump(obj[,limit]) 〜"
正誤情報-104 2002/08/21:更新
504ページ
下から4行目


3刷で訂正
 誤  "ldexp 〜"
 正  "ldexp(x,exp) 〜"
正誤情報-105 2002/08/21:更新
506ペ−ジ


3刷で訂正
 誤  3、6、12〜14、18〜21行目"(name...)"
16行目"include(mod...)"
 正  "(name,...)"
"include(mod,...)"
正誤情報-106 2002/08/21:更新
506〜507ペ−ジ


2刷で訂正
 誤  3〜4、8、19行目と次ページの15行目"private"
5、20行目"protected"
6〜7、21行目"public"
 正  "プライベート"
"プロテクテッド"
"パブリック"
正誤情報-107 2002/08/21:更新
508ページ
6、8行目と最下行


2刷で訂正
 誤  "euid=id    実効ユーザーID"
"fork 〜"
"pop    キューにデータを追加"
 正  "euid=id    実効ユーザーIDの設定"
"fork、fork{...} 〜"
"pop    キューからのデータの取り出し"
正誤情報-108 2002/08/21:更新
509ページ
18〜22行目


3刷で訂正
 誤  "compile(str[,option,code]) 〜"
"new(str[,option,code]) 〜"
"escape(str) 〜"
"quote(str) 〜"
 正  "compile(str[,option[,code]]) 〜"
"new(str[,option[,code]]) 〜"
"escape(str[,code]) 〜"
"quote(str[,code]) 〜"
正誤情報-109 2002/08/21:更新
509ページ
1、10行目


2刷で訂正
 誤  1行目"push    キューからのデータの取り出し"
10行目"each 〜"
 正  1行目"push(obj)    キューにデータを追加"
10行目"each{|x|...} 〜"
正誤情報-110 2002/08/21:更新
511ページ
下から7行目
 誤  "concat 〜"
 正  "concat(str) 〜"
正誤情報-111 2002/08/21:更新
511ページ
下から10、1行目


3刷で訂正
 誤  "chomp 〜"
"each{|x|...} 〜"
 正  "chomp([rs]) 〜"
"each([rs]){|line|...} 〜"
正誤情報-112 2002/08/21:更新
512ページ
2、23行目


3刷で訂正
 誤  "each_line{|x|...} 〜"
"split(sep[,lim]) 〜"
 正  "each_line([rs]){|line|...} 〜"
"split([sep[,lim]]) 〜"
正誤情報-113 2002/08/21:更新
512ページ
9行目と下から6〜5行目


2刷で訂正
 誤  "include?"
"tr_s 〜"
"unpack 〜"
 正  "include?(s)    s と == の関係にある要素があるかどうか"
"tr_s(s,r) 〜"
"unpack(template) 〜"
正誤情報-114 2002/08/21:更新
513ページ
下から7〜6行目
上から19行目


3刷で訂正
 誤  項目の移動と追加。
 正  「クラスメソッド」にある次の2行(下から7〜6行目)を、514ページの上の「インスタンスメソッド」へ移動します。
"self[name]    スレッド固有データの取り出し"
"self[name]=val  スレッド固有データの格納"

また、19行目の(new(host,service))の次に以下の行を挿入。
"gethostbyname(host)    ホスト名からホスト情報を得る"
正誤情報-115 2002/08/21:更新
513ページ
6行目


2刷で訂正
 誤  "each 〜"
 正  "each{|x|...} 〜"
正誤情報-116 2002/08/21:更新
513ページ
2行目と下から4行目


3刷で訂正
 誤  "new(name,mem...) 〜"
"abort_on_exception=n 〜"
 正  "new(name,mem,...) 〜"
"abort_on_exception=(yes_no) 〜"
正誤情報-117 2002/08/21:更新
514ページ
24〜27行目


2刷で訂正
 誤  "〜 時間オブジェクトの生成。整数の場合は秒数換算"
"〜 UTC に設定"
"〜 ローカルタイムに設定"
"〜 時間オブジェクトの生成"
 正  "〜 時刻オブジェクトの生成。整数の場合は秒数換算"
"〜 時刻オブジェクト(UTC)の生成"
"〜 時刻オブジェクト(ローカルタイム)の生成"
"〜 時刻オブジェクトの生成。local の別名"
正誤情報-118 2002/08/21:更新
514ページ


3刷で訂正
 誤  2行目"fork 〜"
5行目"new 〜"
7行目"start 〜"
11行目"abort_on_exception=n 〜"
15行目"raise(exe[,mesg]) 〜"
21行目"Time<Object:時刻クラス"
25行目"gm 〜"
26行目"local 〜"
 正  2行目"fork{...} 〜"
5行目"new{...} 〜"
7行目"start{...} 〜"
11行目"abort_on_exception=(yes_no) 〜"
15行目"raise(err[,msg][,traceback]) 〜"
21行目"Time<Object:時間クラス"
25行目"gm(y,m,d,h,m,s) 〜"
26行目"local(y,m,d,h,m,s) 〜"
正誤情報-119 2002/08/21:更新
515ページ
7、15、20行目


2刷で訂正
 誤  "mday    日"
"to_s    date(1) と同様の表示"
"yday    年中の通産日"
 正  "mday    日。day の別名"
"to_s    時刻の文字列化"
"yday    年中の通算日。1月1日が 1"
正誤情報-120 2002/08/21:更新
517ページ
15行目


2刷で訂正
 誤  "ENV    環境変数を表す連想配列"
 正  "ENV    環境変数を表すハッシュ"
正誤情報-121 2002/08/21:更新
517ページ


3刷で訂正
 誤  項目の追加。
 正  19行目(RUBY_RELEASE_DATE 〜)の次に以下の行を挿入。
"RUBY_PLATFORM    プラットフォームを示す文字列"
正誤情報-122 2002/08/21:更新
521ページ
下から11行目


2刷で訂正
 誤  "〜 : ‘+=’ | ‘-=’ | ‘*-’ | ‘/=’ | ‘%=’ | ‘**=’"
 正  "〜 : ‘+=’ | ‘-=’ | ‘*=’ | ‘/=’ | ‘%=’ | ‘**=’"
正誤情報-123 2002/08/21:更新
545ページ
13、17〜18行目


3刷で訂正
 誤  "ali = ali.id2name if method.kind_of?(Integer)"
"alias def_delegators def_instnase_delegators"
"alias def_delegator def_instanse_delegator"
 正  "ali = ali.id2name if ali.kind_of?(Integer)"
"alias def_delegators def_instnace_delegators"
"alias def_delegator def_instance_delegator"
正誤情報-124 2002/08/21:更新
557ページ
「BSD」の1行目


2刷で訂正
 誤  "Berkeley Standard Distribution。〜"
 正  "Berkeley Software Distribution。〜"
正誤情報-125 2002/08/21:更新
564ページ
「バイトオーダー」の1行目


2刷で訂正
 誤  "たとえば 0x1234 という 4 バイトデータを〜"
 正  "たとえば 0x1234 という 2 バイトデータを〜"
正誤情報-126 2002/08/21:更新
566ページ
「レシーバ」の3行目


2刷で訂正
 誤  "self に入っているもの。"
 正  "self が指しているもの。"
正誤情報-127 2002/08/21:更新
567ページ
参考文献[4]と[7]
 誤  著者名の"Jvar Jacobson"と"Iver Jacobson"
 正  どちらも"Ivar Jacobson"
雑誌・書籍検索
ページトップへ戻る

当HP内掲載の文章、写真、イラスト等のすべてのコンテンツの無断複写・転載を禁じます。

Copyright (C) 2012 ASCII MEDIA WORKS. All rights reserved.