这个表达式应该有float类型,但是这里有'a *'b类型

时间:2010-11-05 22:52:51

标签: f# floating-point int

我正在尝试一个可以找到毕达哥拉斯的简单F#脚本。

以下是代码:

open System

let FindHypotenuse a b =
    Math.Sqrt(Math.Pow(a, 2.0) + Math.Pow(b, 2.0))

FindHypotenuse(2.0, 3.0)

有什么建议吗?

1 个答案:

答案 0 :(得分:8)

你已经定义了函数来获取两个curried参数,然后用一个元组调用它。要么将其称为

FindHypotenuse 2.0 3.0  // no commas

或重新定义它以取一个元组

let FindHypotenuse(a,b) = ...

请注意,“'a * 'b”是元组类型的名称。另见:

http://lorgonblog.wordpress.com/2008/04/03/f-function-types-fun-with-tuples-and-currying/