システムプログラミングのための言語である Rust の解説書。
Windows の Rust (rustc 1.65.0) で動作を確認した。本書の Rust は バージョン 1.46.0 である。
p.152 では、クレートを使うプログラムの作りかたが説明されている。ここで実例にあるのが rand である。
本書では、クレートの最新バージョンを調べた結果、rand = "0.7.3" となっているが、
私が調べたときには、rand = "0.8.5" であった(2022-11-09 現在)。したがって、
p.154 の最初の囲みにある [dependencies] セクションの記述は、
rand = "0.7"
ではなく、
rand = "0.8"
となる。これだけではない。p.154 にある main.rs は、rand のバージョンが 0.7.* までではコンパイルできるが、
0.8.* ではコンパイルできず、エラーとなる。0.8.* では、
println!("{}", r.gen_range(1, 11));
の行を
println!("{}", r.gen_range(1..11));
に書き換えないとならない。参考 :
p.164 では、ライブラリのクレートを作成したときの lib.rs の原型が載っている。私が実行したときの lib.rs は、本書のものとは違い、 次のようになっていた。
pub fn add(left: usize, right: usize) -> usize {
left + right
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}
p.195 の copyfile.rs では、引数を 2 個指定するコマンドで、
if argc < 3 {
というコードがあるが、これは
if argc != 3 {
とするのがいいだろう。
p.9 網掛け部の上から 3 番め、$ rustc Hello.rs
の行があるが、正しくは 《$ rustc hello.rs》だろう。(大文字ではなく小文字)
p.25 中ほどの「表注」で安全が保障されない操作
とあるが、《安全が保証されない操作》のほうがよいと思う。
保障は、損害を受けないようにする主体が国家や地方自治体のような気がするからだ。
書名 | プログラミング Rust |
著者 | 日向俊二 |
発行日 | 2018 年 8 月 8 日 |
発行元 | カットシステム |
定価 | 2800円(税別) |
サイズ | |
ISBN | 978-4-87783-498-2 |
備考 | 越谷市立図書館で借りて読む |
NDC | 007.6 |
まりんきょ学問所 > コンピュータの部屋 > コンピュータの本 > Rust > 日向俊二 : プログラミング Rust