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

Appending All Entries in array to string?

我目前有一个包含 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"

如果你有一个字符串列表而不是数组,那么 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 将 space 附加到数组中的每个字符串,包括最后一个。 String.concat更好;它仅在字符串之间使用填充符