我不确定我的方法是否正确,
我想做的是转换一个Int的列表,例如:[[1234, 5, 2], [4568, 7, 3], [7897, 6, 5]]
成一列[[Patient]]
。data Patient = Patient { patientId :: Int, patientTemps :: Int, patientPriorite :: Int } deriving (Show)
我之所以这样做,是因为我想打印“index patientId patientPriorite
“,类似于:1 1234 2
2 4568 3
3 7897 5
所以我想如果我能得到[[Patient]]
,我就能很容易地访问列表中的元素。
2条答案
按热度按时间0pizxfdo1#
这是一个简单的方法,但如果有任何无效数据(长度为/= 3的列表),则会引发错误。
输出量:
更安全的方法是定义一个将
[Int]
转换为Maybe Patient
的函数,然后根据需要处理无效数据:输出量:
vnzz0bqm2#
您可以为转换编写如下内容:
如果只想用index显示数据,那么只需将原始数据与一个整数列表压缩在一起,如下所示:
也就是说,由于列表项对应于特定的属性,我将选择第一个选项。