Option型
RustのOption型
GPT-4.icon
table:Haskellとの対応
Rust (Option<T>) メソッド Haskell (Maybe a) 関数/概念 説明
map fmap or <$> Some(T) の値を変換しますが、None はそのまま返します。
and_then >>= Some(T) の場合、次の計算を実行します。None はそのまま返します。
or <>
or_else maybe None の場合、クロージャで新しい Option<T> を生成します。
unwrap_or fromMaybe Some(T) の値を返し、None の場合、デフォルト値を返します。
unwrap_or_else maybe Some(T) の場合はその値を返し、None の場合は関数を適用した結果を返します。
is_some isJust Some(T) かどうかを判定します。
is_none isNothing None かどうかを判定します。
ok_or 無し Some(T) の場合は Result<T, E> の Ok(T) に変換します。None の場合、指定したエラー値を返します。
ok_or_else 無し Some(T) の場合は Result<T, E> の Ok(T) に変換します。None の場合、エラー生成関数を呼び出します。
unwrap fromJust (安全でない場合) Some(T) の値を返し、None の場合はパニックします。
expect fromJust with message Some(T) の値を返し、None の場合は指定したエラーメッセージでパニックします。
filter filter Some(T) の場合に条件を満たせば Some(T) を返し、満たさなければ None を返します。
flatten join Option<Option<T>> を Option<T> に変換します。
transpose 無し Option<Result<T, E>> を Result<Option<T>, E> に変換します。
iter 無し Some(T) の場合はイテレータを返し、None の場合は空のイテレータを返します。
as_ref 無し 値の参照を借用します(&Option<T> に対して操作)。
as_mut 無し 可変参照を借用します(&mut Option<T> に対して操作)。