在 ocaml 中打印二维数组

问题描述 投票:0回答:2

我在 Ocaml 中编写了以下代码来打印二维数组:

let string_of_float_arr l = String.concat " " (Array.map string_of_float l)

let float_arr_to_string l = String.concat "\n" (Array.map string_of_float_arr l) 

我收到错误,有人可以帮我指出错误吗

arrays multidimensional-array ocaml computer-science
2个回答
0
投票

注意:如果您只想打印,请使用 Array.iter

let arr = [|1.0; 2.0; 3.0; |]

let () = Array.iter(fun elem -> print_endline (string_of_float elem)) arr

在二维浮点数组上使用 Array.iter 是一个简单的练习。


0
投票

就像我说的。如果目标是构建一个字符串,我会使用 Array.fold_left 来解决这个练习。以下是如何将 Array.fold_left 应用于一维浮点数组来获取字符串。

let arr = [|1.0; 2.0; 3.0|]

let farr_to_string arr =
  Array.fold_left (fun acc elem -> acc ^ (string_of_float elem)) "" arr

let () = print_endline (farr_to_string arr)

现在您必须创建另一个函数,该函数采用 2D 浮点数组并再次应用 Array.fold_left。

© www.soinside.com 2019 - 2024. All rights reserved.