Arrays 是否将数组中的所有项追加到字符串?

Arrays 是否将数组中的所有项追加到字符串?,arrays,ocaml,string-concatenation,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 ENTR

我目前有一个包含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就可以了。因此,如果您有数组,可以将数组转换为list,然后应用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更好;它只在字符串之间使用填充符

您确定应该使用数组吗?那不是很地道。在任何情况下,您的问题归结为首先在数组中连接字符串,然后添加您已经知道如何操作的前缀和后缀。如果使用的是列表而不是数组,则可以使用String.concat。对于数组,您可以使用array.fold_left和concatenation操作符,也可以强制执行。