代数的データ型その3
data Anchor = A { aUrl :: String, aLabel :: String }
というようにフィールドラベルを付けることができます。こうするとフィールド名でデータにアクセスできるようになります。
フィールドラベルを使った方法でサンプルを書き換えてみます。
data Anchor = A { aUrl :: String, aLabel :: String } main = do putStrLn $ "Url : " ++ getUrl getAnchor putStrLn $ "Label: " ++ getLabel getAnchor getAnchor :: Anchor getAnchor = A "http://www.example.com" "Example" getUrl :: Anchor -> String getUrl (A {aUrl = u}) = u getLabel :: Anchor -> String getLabel (A {aLabel = l}) = l
パターンマッチよりもこちらの方が分かりやすいですね。