実践Rust入門

サポートページ

お詫びと訂正(正誤表)

本書の以下の部分に誤りがありました。ここに訂正するとともに、ご迷惑をおかけしたことを深くお詫び申し上げます。

(2021年12月22日最終更新)

P.150 本文3行目

誤 ビット演算のnotは~を使います。
正 ビット演算のnotは!を使います。

P.150 表4.2

誤 ビットごとの否定 (not) ~
正 ビットごとの否定 (not) !

(以下2019年5月20日更新)

P.92 2段落目

誤 一方でバイトニックソートは計算量が .. 常にO(n log n)です。
正 一方でバイトニックソートは計算量が .. 常にO(n log^2 n)です。

P.92 2段落目

誤 全行程の並列処理が可能で、その場合はO(log n)の時間でソートできます
正 全行程の並列処理が可能で、その場合はO(log^2 n)の時間でソートできます

P.94 7行目

誤 ステップ3bでは
正 ステップ2cでは

P.107 ch3/biotonic-sorter/src/second.rs

誤

let mut x = vec!["Rust", "is", "a", "system", "programming", "language",
"that", "runs"];

正

let mut x = vec!["Rust", "is", "fast", "and", "memory-efficient",
"with", "no", "GC"];

P.120 ch3/biotonic-sorter/src/third.rs

誤

use super::{is_power_of_two, sort, sort_by};

正

use super::{sort, sort_by};

P.123 ch3/biotonic-sorter/src/third.rs

誤

if is_power_of_two(x.len()) {

正

if x.len().is_power_of_two() {

P.132 コードブロック31行目

誤

let sum = (1.. = n).sum();

正

let sum = (1..=n).sum();

P.150 表4.2 整数型がサポートしている主な演算の「算術演算」

誤 加算、除算、..
正 加算、減算、..

P.181 図5.3 左上

誤 capacity 5
正 capacity 8

P.181 図5.3 左上

誤 vec
正 Vec

P.259 図7.1図の右

誤 直前の状態
正 直後の状態

P.284 図7.10

誤 「所有する」の矢印の方向が下の箱に向かっている
正 「所有する」の矢印の方向は「100」、「200」の箱に向かう

P.370 ch9/parser/src/main.rsの12行目に以下を追加


use std::iter::Peekable;

P.380 ch9/parser/src/main.rs(抜粋)の1行目に以下を追加


use std::str::FromStr;

P.382 ch9/parser/src/main.rs(抜粋)の26行目

誤

let loc = &self.1

正

let loc = &self.loc

P.382 ch9/parser/src/main.rs(抜粋)の27行目

誤

match self.0

正

match self.value

P.382 ch9/parser/src/main.rs(抜粋)の38、40、41、45行目

誤

tok.kind

正

tok.value

P.385 ch9/parser/src/main.rs(抜粋)の16行目

誤

e.1.clone()

正

e.loc.clone()

P.393 ch9/parser/src/main.rs(上)の2行目

誤

use self::Ast::*;

正

use self::AstKind::*;

P.393 ch9/parser/src/main.rs(下)の9行目

誤

use self::BinOp::*;

正

use self::BinOpKind::*;

P.456 2つ目のコードブロック先頭に以下を追加


use actix_web::State;

P.526 ch12/onigmo-rs/onigmo-sys/build.rs

以下のURLより差分をご確認ください。

P.535 ch12/onigmo-rs/onigmo/src/lib.rs(抜粋)の14行目

誤

num_regs = (*self.0).num_regs

正

num_regs = (*self.as_ptr()).num_regs

P.535 ch12/onigmo-rs/onigmo/src/lib.rs(抜粋)の14行目

誤

let region = *(self.0).0;

正

let region = *(self.0).as_ptr();

P.536 ch12/onigmo-rs/onigmo/examples/simple.rs(抜粋)の4行目

誤

"a(.*)b|[e-f]+".to_string()

正

"a(.*)b|[e-f]+"