我一生都无法弄清楚为什么这个 if 语句有问题(haskell noobie。)有人能帮我吗?
fst3 (a,b,c) = a
snd3 (a,b,c) = b
trd3 (a,b,c) = c
fst4 (a,b,c,d) = a
snd4 (a,b,c,d) = b
trd4 (a,b,c,d) = c
qud4 (a,b,c,d) = d
fractionalKnapsack (x:xs) =
fractionalKnapsack (x:xs) []
fractionalKnapsack (x:xs) fracList =
((fst3 x),(snd3 x),(trd3 x),(snd3 x) / (trd3 x)):fracList
if length (x:xs) <= 1
then computeKnapsack sort(fracList)
else fractionalKnapsack xs fracList
computeKnapsack (x:xs) = (x:xs)