创建一个获取对列表的函数 - learnyouahaskell

时间:2017-09-23 02:14:29

标签: haskell

所以我试图在教程learnyouahaskell中理解这个功能,但它似乎没有正常工作。据我了解,它应该包含一对配对列表,并从这些配对中返回一个BMI列表。

calcBmis :: (RealFloat a) => [(a, a)] -> [a]  
calcBmis xs = [bmi w h | (w, h) <- xs]  
    where bmi weight height = weight / height ^ 2

每当我尝试使用此输入calcBmis [(1,2),(2.4)]运行该函数时,我都会收到此错误:

<interactive>:77:1: error:
    • Non type-variable argument in the constraint: Fractional (a, a)
      (Use FlexibleContexts to permit this)
    • When checking the inferred type
        it :: forall a. (Fractional (a, a), RealFloat a) => [a]

1 个答案:

答案 0 :(得分:2)

你的第二个元素是“2.4”而不是“(2,4)”。运行“calcBmis [(1,2),(2,4)]”应该有效。