翔泳社のオンラインショップ

Ruby 逆引きレシピ 正誤表

(最終更新日:2010-03-20)

お買い上げになった刷数:
訂正箇所 改訂
刷数
内容
P.033
ページ下部のリスト囲み、2つ目の#~
未定
# プロンプトのタイトル文字列を"Ruby Recipe"にする
# プロンプトのタイトル文字列を"Ruby Recipe Sample"にする
P.044
ページ下部のリスト囲み3行目
未定
utf8_str = NKF::nkf('-Ew', str)
utf8_str = NKF::nkf('-Ew', euc_jp_str)
P.056
下から5・6行目
未定
Fixnumクラスは31ビットの符号付き付き整数であり、表現可能な値の範囲は-1,073,741,824〜1,073,741,823です。
FixnumクラスはCのlong型のビット数から1を引いたビット数(8*sizeof(long) - 1)の符号付き整数です。そのため、表現可能な値の範囲はプラットフォームに依存して決定されます。long が32ビット長であるプラットフォーム上ではFixnumは31ビット符号付き整数となり、表現可能な値の範囲は-1,073,741,824~1,073,741,823です。longが64ビット長であるプラットフォームではFixnumは63ビット符号付き整数となり、表現可能な値の範囲は-4,611,686,018,427,387,904~4,611,686,018,427,387,903です。Fixnum は少なくとも31ビット長であることが保証されています。
P.067
ページ最下部のリスト囲み
未定
require 'rubygems'
require 'measure'
require 'measure/length'
require 'rubygems'
require 'measure/length'
P.089
下から2行目
未定
要素数が指定しなければ
要素数指定しなければ
P.090
本文下から5・6行目(2箇所)
未定
LazyList.fromメソッド
LazyList.tabulateメソッド
P.134, 135
リスト囲み、計6箇所
未定
templete
template
P.136
1つ目のリスト囲み、caseのインデント
未定
def self.create(file_type)
case file_type
 when :mp3
def self.create(file_type)
 case file_type
 when :mp3
P.136
2つ目のリスト囲み、2行目
未定
decoder = decoder_factory.create(file_type)
decoder = DecoderFactory.create(file_type)
P.139
リスト囲み、5行目
未定
attr_reader :x, y
attr_reader :x, :y
P.173, 174, 175
各リスト囲み
未定
context[:port] => 389
(略)

context[:lang] => "us"
context[:port] = 389
(略)

context[:lang] = "us"
P.183
リスト囲みの最下行
未定
"".empty?     #=> false
"".empty?     #=> true
P.197
2つ目のリスト囲み、下から2行目
未定
:encording => 'UTF-8'
:encoding => 'UTF-8'
P.199
最下部のリスト囲み、2行目
未定
user.login = "shimada"
user.login = "mrkn"
P.202
上から3つ目のコード
未定
DB = Sequel('postgres://user:password@localhost/my_db')
DB = Sequel.connect('postgres://user:password@localhost/my_db')
P.202
COLUMNの2つ目のコード
未定
DB = Sequel('sqlite://zipcode.sqlite3')
DB = Sequel.connect('sqlite://zipcode.sqlite3')
P.205
上から4行目
未定
集合から成るDataSeオブジェクト
集合から成るDataSetオブジェクト
P.299
6行目
未定
では、次にこのタプルスペースを利用して複数のプロセスで分数処理をしてみます。
では、次にこのタプルスペースを利用して複数のプロセスで分処理をしてみます。
P.364
1つ目のリスト囲み
未定
$ install libfreeimage-dev
$ apt-get install libfreeimage-dev
P.425
リスト囲み、1行目
未定
require 'test/unit'
require 'test/unit'
require 'person'
require 'team'
P.431
2つ目のリスト囲み、冒頭のrequire
未定
require 'test/unit'
require 'rubygems'
require 'mocha'
require 'test/unit'
require 'rubygems'
require 'mocha'

require 'person'
require 'team'
P.432
リスト囲み、冒頭にrequireを追加
未定
require 'test/unit'
require 'rubygems'
require 'mocha'

require 'person'
require 'team'
P.496
1つ目のリスト囲みおよび2つ目のリスト囲みの1行目
未定
task :byebye
task :byebye do
P.537
リスト囲み3行目
未定
puts ISeq.compile("puts 'Hello,VM'").disasm,"nn"
puts ISeq.compile("puts 'Hello,VM'").disasm
,"nn" は不要
P.551
1つ目のリスト囲み(define_lambda_alias.rb)
未定
# coding: UTF-8

methods = Kernel.private_instance_methods
module Kernel
 alias λ lambda
end
sym = (Kernel.private_instance_methods - methods)[0]

sym.encoding #=> #
f = λ{ 1 + 2 }
f.call #=> 3

f = __send__('λ'.intern) { 1 + 2 }
f.call #=> 3

# 文字エンコーディングのみが異なる
f = __send__('λ'.force_encoding('EUC-JP').intern) { 1 + 2 }
  #=> undefined method `λ' for main:Object (NoMethodError)

# バイト列と文字エンコーディングの両方が異なる場合
f = __send__('λ'.encode('EUC-JP').intern) { 1 + 2 }
  #=> undefined method `??' for main:Object (NoMethodError)

※▼1つ目のリスト囲み※
#### define_lambda_alias.rb
# coding: UTF-8
module Kernel
 alias λ lambda
end
※▲※


※▼2つ目のリスト囲み※
# coding: UTF-8
methods = Kernel.private_instance_methods
require 'define_lambda_alias'

sym = (Kernel.private_instance_methods - methods)[0]

sym.encoding #=> #
f = λ{ 1 + 2 }
f.call #=> 3

f = __send__('λ'.intern) { 1 + 2 }
f.call #=> 3

# 文字エンコーディングのみが異なる
f = __send__('λ'.force_encoding('EUC-JP').intern) { 1 + 2 }
  #=> undefined method `λ' for main:Object (NoMethodError)

# バイト列と文字エンコーディングの両方が異なる場合
f = __send__('λ'.encode('EUC-JP').intern) { 1 + 2 }
  #=> undefined method `??' for main:Object (NoMethodError)
※▲※
リスト囲みを2つに分離
P.553
1つ目のリスト囲み、1~3行目
未定
a = "\000\001\002\003"
a[2] #=> 2
a[2] = 5
a = "\000\001\002\003".force_encoding('ASCII-8BIT')
a[2] #=> "\002"
a[2] = "\005"
\はバックスラッシュ
P.555
リスト囲み、最下行
未定
#=> 10
#=> 9

ページ上に戻る

正誤表トップに戻る