0
說我有兩個數據類型是這樣的:獲得ID數據類型的元素在Haskell
data DataType1 = DataType1 { id :: Int, values :: [Int]} deriving (Show)
data DataType2 = DataType2 { dataType1Id :: Int, values2 :: [Int]} deriving (Show)
現在我想的平均值和相關values2(所以這裏DataType1Id = ID)進行比較。 我在Haskell中很新,所以我不知道這是否可能。
這是我的功能比較平均:
isGreaterAvgThen :: DataType2 -> Bool
isGreaterAvgThen x
| average (values2 x) > average (values y) = True
| otherwise = False
where y = ...
平均是計算INTS的列表的平均值的函數(平均:: [INT] - >雙)
當你編譯它時會發生什麼? – jamshidh 2014-12-11 01:01:45
目前沒有什麼,我不知道y =應該在這裏。我有DataType1s的列表,我試圖做DataType1,其中DataType1 =(dataType1Id x)的id。 – Vinny 2014-12-11 01:07:22
你有多少個DataType2?這聽起來像你說你有一個單一的,你需要單從列表中的'DataType1' ....此外,將'DataType1'更好地存儲爲'Data.Map Int [Int]'? – jamshidh 2014-12-11 01:40:35