日向俊二 : プログラミング Rust

作成日 : 2020-10-03
最終更新日 :

概要

システムプログラミングのための言語である Rust の解説書。

記載

Windows の Rust (rustc 1.65.0) で動作を確認した。本書の Rust は バージョン 1.46.0 である。

注意

gen_range() の引数

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));
に書き換えないとならない。参考 :

自動生成される lib.rs の原型

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円(税別)
サイズ
ISBN978-4-87783-498-2
備考越谷市立図書館で借りて読む
NDC007.6

まりんきょ学問所コンピュータの部屋コンピュータの本Rust > 日向俊二 : プログラミング Rust


MARUYAMA Satosi