OCaml语法问题

时间:2014-02-09 00:25:21

标签: ocaml

即使在ocaml.org文档的帮助下,也很难弄清楚我的功能有什么问题。

let dist (x1, y1) (x2, y2) = 
    let x = (x2 - x1)^2 in
    let y = (y2 - y1)^2 in 
    (x + y) ^ (.5);; //line 13

我正在接受

File "ish.ml", line 13, characters 12-13: 
Error: Syntax error

发生了什么事?

1 个答案:

答案 0 :(得分:2)

您需要在小数点前写入至少一位数的浮点常量。

请注意,在OCaml ^中是一个字符串操作,而不是取幂。您可以使用**进行取幂:

# ( ** );;
- : float -> float -> float = <fun>
# 3.0 ** 0.5;;
- : float = 1.73205080756887719