コンテキストでの型の操作 Applicative型クラス:関数をコンテキスト内で使用する <*>を使ってデータをコンテキスト内で作成する レコード構文、Maybe型、Nothing
入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)のUNIT5(コンテキストでの型の操作)、LESSON28(Applicative型クラス:関数をコンテキスト内で使用する)、28.3(<*>を使ってデータをコンテキスト内で作成する)、クイックチェック 28-5の解答を求めてみる。
結果はNothingになる。
実際に確認。
コード
data User = User
{ name :: String,
gameId :: Int,
score :: Int
}
deriving (Show)
userName :: Maybe String
userName = Nothing
userGameId :: Maybe Int
userGameId = Just 1337
userScore :: Maybe Int
userScore = Just 9001
user :: Maybe User
user = User <$> userName <*> userGameId <*> userScore
main :: IO ()
main = do
print user
入出力結果(Terminal, Zsh)
% runghc sample05.hs
Nothing
%