演習 - ジェネリック型を実装する
この演習では、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 のリンクをご覧ください。