Rust: Option
値がないことを示す None と、値を内包する Some(value) で構成される
他言語における null に近い概念
上述したとおり、enum (列挙型) として実装されている enumが値のタプルを保有できるRustならではの定義 Try trait
Optionを返す関数やクロージャ内であれば、式の後ろに ? をつけることで、値の取り出しまたは早期リターンができるようになっている
Option.and_then と組み合わせると、長めのSome外しが短く書けて良い
Iterator.filter_map
Rust: Iteratorには filter_map というメソッドが用意されており、Optionを返すクロージャを渡すことで None を振り落としながらmapすることができる