【发布时间】:2017-09-05 16:21:23
【问题描述】:
我声明了以下新类型:
newtype Code = Code String deriving (Show)
newtype Name = Name String deriving (Show)
newtype Account = Account (Code, Name) deriving (Show)
所以:
*Main Lib> :t Code
Code :: String -> Code
*Main Lib> :t Name
Name :: String -> Name
*Main Lib> :t Account
Account :: (Code, Name) -> Account
然后我创建了一些实例:
cn = Code "1.1.1"
nn = Name "Land And Buildings"
an = Account (cn, nn)
*Main Lib> an
Account (Code "1.1.1",Name "Land And Buildings")
现在我需要访问变量an 中的Code 字段,例如an.Code 我该怎么做?
使用Data 比使用newtype 更好吗?如果 Haskell 让我创建一个名为 tuple 的新类型,那么我想应该有一种简单的方法来访问里面的元素。
【问题讨论】:
-
data Account = Account { accCode :: Code, accName :: Name }然后accCode an(注意:“命名元组”是一条记录。)
标签: haskell tuples named newtype