表現としてプリミティブ型と列挙型を定義することが可能であると思われますか?たとえば、インスタンスを作成するにはどうすればよいでしょうか、また、異なるプリミティブ型を処理するためにmatch文を使用するにはどうすればよいでしょうか?あなたが期待するものプリミティブ型は錆で
5
A
答えて
10
(この答えは0.9のようです)あなたはそれをやっていると思うものをかなりやっていません
。それはという名前の列挙型A
とf64
とi32
という名前のこれらのタイプを使用していません。型やその他のもの(変数など)は異なる名前空間を共有するため、気付かないかもしれません。オリジナルの列挙型の使用例:
enum A {
Float(f64),
Int(i32)
}
fn main() {
let x: A = Float(42.0);
let y: A = Int(7);
match x {
Float(value) => println!("got Float({})", value),
Int(value) => println!("got Int({})", value)
}
}
:実際
値これらのタイプのをラップするために
enum A {
f64,
i32
}
fn main() {
let x: A = f64;
let y: A = i32;
match x {
f64 => println!("got f64"),
i32 => println!("got i32")
}
}
を、あなたは「タプルのような変種」を使用する必要があります
3
やっていない、この出力のチェック:ただ単に定数の他の名前と同様に、列挙型の変異体として
enum A {
f64,
i32
}
fn main() {
let x:A = f64;
let y:A = i32;
println!("{}, {}", x as int, y as int);
}
f64
とi32
を。このようにして、CのenumよりもCのunionほど動作します。
関連する問題
- 1. プリミティブ型
- 2. 比較プリミティブ型
- 3. Hibernateプリミティブ型マッピング
- 4. プリミティブ型のスカラマップ値型
- 5. ClassLoaderでプリミティブ型を使用
- 6. イベントの非プリミティブ型
- 7. Javaコレクション。プリミティブ型はなぜですか?
- 8. 錆は:refパターン
- 9. Cassandraのプリミティブ型とオブジェクト型の保存
- 10. のC#、反射とプリミティブ型
- 11. コンパイル時のプリミティブ変数型
- 12. プリミティブ型の "value"のデフォルト値
- 13. NSCode:プリミティブ型のエンコーダとデコーダ
- 14. Objective-C setValue:cプリミティブ型のforKey
- 15. C++のプリミティブ型のリスト
- 16. protobuf 3のプリミティブ型any
- 17. パフォーマンス:typedefとプリミティブ型のラッパークラス?
- 18. AngularJSでプリミティブ型を注入する
- 19. だけがプリミティブ型または列挙型は、この文脈
- 20. ブール値で錆の列挙型をチェックしますか?
- 21. プリミティブ型のint型でtoString()を呼び出せません
- 22. 錆のソケット
- 23. プリミティブ型をWCF RESTfulサービスに渡す
- 24. プリミティブ型のマルチスレッドと演算子++
- 25. のJavaのtoArray()メソッド:プリミティブ結果型
- 26. null値をプリミティブ型にロードする
- 27. クラス型パラメータ渡しのJavaプリミティブ
- 28. Objective-Cのインポート、Cygwinのプリミティブ型
- 29. Java - プリミティブ型のリスナーを変更する
- 30. プリミティブ型をnull可能オブジェクトにキャスト