Haskellの anInt
と aの違いはありますか? Maybe Int
ある場合、どうすれば aMaybe Int
をに変換できInt
ますか?
質問する
1627 次
2 に答える
3
データ型は、null になる可能性のMaybe
ある値を表し、通常、値だけで成功するか、値なしで失敗する関数からの戻り値として使用されます。と の 2 つのコンストラクターがありNothing
ます。次のように使用できます。Just a
a
safeHead :: [a] -> Maybe a
safeHead [] = Nothing
safeHead (x:xs) = Just x
パターン マッチングを使用するか、または からいくつかの関数を使用して、値を抽出できますData.Maybe
。私は通常前者を好むので、次のようになります。
main = do
let xs :: [Int]
xs = someComputation 1 2 3
xHead = safeHead xs
case xHead of
Nothing -> putStrLn "someComputation returned an empty list!"
Just h -> putStrLn $ "The first value is " ++ show h
-- Here `h` in an `Int`, `xHead` is a `Maybe Int`
于 2013-10-09T21:02:36.620 に答える