计算两点之间的距离(Haskell)

时间:2015-03-18 15:30:31

标签: haskell

如果输入两个tupples,我希望能够使用以下公式计算两点之间的距离: 距离= sqrt((x1 - x2)^ 2 +(y1 - y2)^ 2)

所以我希望函数调用和输出看起来像这样:

-- > distance (5 , 10) (3 , 5)
-- 5.385...

当我尝试运行下面的代码时,它告诉我输入'where'的解析错误。任何人都可以帮我解决我的问题吗?这是我的代码:

distance (x1 , y1) (x2 , y2) = sqrt (x'*x' + y'*y')
where
    x' = x1 - x2
    y' = y1 - y2

1 个答案:

答案 0 :(得分:6)

你正在做一个缩进错误,这应该工作 - 看看where子句是如何缩进的:

distance (x1 , y1) (x2 , y2) = sqrt (x'*x' + y'*y')
    where
      x' = x1 - x2
      y' = y1 - y2