Progrust Library.

// dictionary

論理値型.

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

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

補足

数値への変換と大小比較

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

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 14

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