我试图从导入的包中访问类型内的一些数据. 该类型由(包作者)声明为: newtype MultiBalanceReport = MultiBalanceReport ([DateSpan] ,[MultiBalanceReportRow] ,MultiBalanceReportTotals ) 我正在尝试使用如下函数提
该类型由(包作者)声明为:
newtype MultiBalanceReport = MultiBalanceReport ([DateSpan] ,[MultiBalanceReportRow] ,MultiBalanceReportTotals )
我正在尝试使用如下函数提取类型中的第一个列表:
getDates :: MultiBalanceReport -> [DateSpan] getDates (date,_,_) = date
但是当我使用该函数时,编译器会抱怨类型不一样:
• Couldn't match expected type ‘MultiBalanceReport’ with actual type ‘([DateSpan], t7, t8)’
我觉得编译器只是不知道MultiBalanceReport类型的内部细节?我没有导入正确定义类型的包吗?
我是Haskell的新手,如果我使用错误的命名法试图描述我的问题,那就很抱歉.
newtype是带有构造函数的数据类型,因此您需要首先从构造函数MultiBalanceReport中打开元组:getDates :: MultiBalanceReport -> [DateSpan] getDates (MultiBalanceReport (date,_,_)) = date