Enumとパターンマッチング(Rust)
Enumとパターンマッチングを読んだ。
Option enumがすごい
1 | enum Option<T> { |
で値がなにかかそうでないかを表現する。
Rustにおいて、値がある時、コンパイラは常に有効な値かどうかを確認してくれる。つまり、nullであるかどうかをチェックする必要がない。Option<T>があるときだけ、値がnull(=なんでもない)かどうかをチェックすればよくて、コンパイラはそんな場面があるかどうかを確かめてくれる。
Option<T>は便利すぎて明示的に導入する必要がないらしい。列挙型も、名前空間の接頭辞なしで使える。
こんだけ便利な機能なのにOption<T>自体はただのenumだしSome(T)とNoneもただの列挙子なのがすごい、シンプル故に最強という感じ。
Enumとパターンマッチング(Rust)