以下の内容はhttps://ytyaru.hatenablog.com/entry/2020/12/01/000000より取得しました。


Rust自習(じゃんけんゲーム6)

 Handrandom()Distributionトレイトで実装した。

成果物

参考

コード

//use rand::Rng;
use rand::{distributions::{Distribution, Standard},Rng};
fn main() {
    loop {
        // ...
//        let npc = Hand::Rock.random();
        let npc: Hand = rand.random();
        // ...
    }
}
impl Distribution<Hand> for Standard {
    fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> Hand {
        Hand::from(rng.gen_range(1, 4))
    }
}
impl Hand {
    /*
    fn random() -> Hand {
        let mut rng = rand::thread_rng();
        let hand = rng.gen_range(1, 4);
        Hand::from(hand)
    }
    */
    // ...
}

所感

 ほとんどトレイトで実装できた。

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1219 SMP Tue May 14 21:20:58 BST 2019 armv7l GNU/Linux

前回まで




以上の内容はhttps://ytyaru.hatenablog.com/entry/2020/12/01/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14