【发布时间】:2014-05-18 15:52:41
【问题描述】:
我有一个函数 sqrt,它接受 2 个浮点值、容差和数字,并在指定的容差内给出数字的平方根。我用近似法来做。
let rec sqrt_rec approx tol number =
..................;;
let sqrt tol x = sqrt_rec (x/.2.0) tol x;;
我有另一个函数映射,它接受一个函数和一个列表,并将该函数应用于列表的所有元素。
let rec map f l =
match l with
[] -> []
| h::t -> f h::map f t;;
现在我正在尝试创建另一个函数 all_sqrt,它基本上采用 1 个浮点值、1 个浮点列表并将函数 sqrt 映射到所有元素。
let all_sqrt tol_value ip_list = List.map sqrt tol_value ip_list;;
这显然给了我错误。我尝试使 tol_value 也成为一个列表,但它仍然会引发错误。 错误:此函数应用于太多参数; 也许你忘记了一个`;'
我认为我做错了映射。
【问题讨论】:
标签: ocaml