将数组中的所有条目追加到字符串?

时间:2019-03-19 18:48:32

标签: arrays ocaml string-concatenation

我目前有一个包含x个字符串的数组,并希望将所有这些条目附加到OCaml中的字符串。

我知道在OCaml中将字符串追加到另一个字符串的方法是使用

let a ="Hello"
let b= "Blah Blah " ^ a

但是,我想使用数组中的所有条目来执行此操作。然后在追加完整数组之后继续该字符串。与此类似:

let myArray = Array.make stages "Some text"
let myString = "I'm looking to append "^(ALL ENTRIES IN ARRAY)^" to this string"

1 个答案:

答案 0 :(得分:0)

如果您有一个字符串列表而不是数组,那么String.concat将解决问题。因此,如果您有数组,可以将数组转换为列表,然后按如下所示应用String.concat:

String.concat " " (Array.to_list str_arr)

但是,如果您不想将其转换为列表,则可以使用fold_left,如下所示:

 Array.fold_left (fun x y -> x ^ y ^ " ") "" str_arr

请注意,fold_left向数组中的每个字符串(包括最后一个字符串)都添加一个空格。 String.concat更好;它仅在字符串之间使用填充符