F# で Maybe できたよーーー
ʕ•͡ω•ʔ Haskell の何かを F# で書くと楽しいんじゃ(天才博士風)
というわけで、実装して覚えるシリーズ。
型の定義がこちら:
type Maybe<'a> = | Nothing | Just of 'a
F# 風にするなら、Maybe
を maybe
にするべきかも。
ゆかいな Maybe 関連の関数:
let maybe a f m = match m with | Just x -> f x | Nothing -> a let isJust m = match m with | Nothing -> false | Just _ -> true let isNothing m = match m with | Nothing -> true | Just _ -> false let fromJust x = match x with | Nothing -> failwith "Maybe.fromJust: Nothing" | Just x -> x
だけど、F# には option
というのが既にあるので、そっちを使いましょう。