Haskell - コンテキストでの型の操作 - Functor型クラス - Functorはいつもそばにいる, List
入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)の UNIT5(コンテキストでの型の操作)、LESSON 27(Functor型クラス)、27.3(Functorはいつもそばにいる) クイックチェック 27-3の解答を求めてみる。
コード
sample3.hs
import qualified Data.Map as Map
main :: IO ()
main = do
print allParts
data RobotPart = RobotPart {
name :: String
-- description :: String,
-- cost :: Double,
-- count :: Int
} deriving Show
leftArm = RobotPart {name ="left arm"}
rightArm = RobotPart {name="right arm"}
robotHead = RobotPart {name = "robot head"}
partsDB :: Map.Map Int RobotPart
partsDB = Map.fromList $
zip [1,2,3]
[leftArm, rightArm, robotHead]
allParts :: [RobotPart]
allParts = snd <$> (Map.toList partsDB)
入出力結果(Terminal, Zsh)
% runghc sample3.hs
[RobotPart {name = "left arm"},RobotPart {name = "right arm"},RobotPart {name = "robot head"}]
%