Progrust Library.

// dictionary

論理値型.

真偽値を表すプリミティブ型です。
取りうる値はtruefalseの2つのみで、メモリ上は1バイト(8ビット)で表現されます。

fn main() {
    let stock: u32 = 0;
    let in_stock: bool = stock > 0; // 在庫があるかどうか
    if in_stock {
        println!("購入可能です");
    } else {
        println!("売り切れです");
    }
}
Playgroundで開く

補足

数値への変換と大小比較

boolOrdを実装しており、false < trueとして順序付けられます。
整数型への変換はasによるキャストまたはFrom<bool>で行え、false0true1になります。逆方向(整数からbool)への変換は、Rust 1.95.0でTryFrom<u8>等が安定化されましたが、それ以前のバージョンとの互換性も考え、ここではmatch01以外の値を明示的に扱う例を示します。

fn main() {
    assert!(false < true);
    assert_eq!(true as i32, 1);
    assert_eq!(i32::from(false), 0);

    let raw: u8 = 2;
    let parsed = match raw {
        0 => Ok(false),
        1 => Ok(true),
        _ => Err("0/1以外は無効な値"),
    };
    assert!(parsed.is_err());
}
Playgroundで開く

この辞書が使われているページ

backlinks 10

  1. 辞書if let式
  2. 辞書if式
  3. 辞書match式
  4. 辞書while式
  5. 辞書キャスト
  6. 辞書プリミティブ型
  7. 辞書ムーブ
  8. 辞書論理演算子
  9. 動かして学ぶRustプログラミング問題集 › 第2章 基本の型と演算
  10. 動かして学ぶRustプログラミング問題集 › 第3章 制御フロー