演習 - ジェネリック型を実装する

完了

この演習では、u32 型の正の整数のみを受け入れる Container 構造体を、任意の型の値を保持できるジェネリック コンテナーに変換します。

main 関数内のコンテンツは編集しないでください。 この演習は、コードがコンパイルされると完了です。

struct Container {
    value: u32,
}

impl Container {
    pub fn new(value: u32) -> Self {
        Container { value }
    }
}

fn main() {
    assert_eq!(Container::new(42).value, 42);
    assert_eq!(Container::new(3.14).value, 3.14);
    assert_eq!(Container::new("Foo").value, "Foo");
    assert_eq!(Container::new(String::from("Bar")).value, String::from("Bar"));
    assert_eq!(Container::new(true).value, true);
    assert_eq!(Container::new(-12).value, -12);
    assert_eq!(Container::new(Some("text")).value, Some("text"));
}

この演習は、こちらの Rust Playground のリンクで表示することもできます。

この演習の解答については、こちらの Rust Playground のリンクをご覧ください。