Добавить все записи в массиве в строку? - PullRequest
0 голосов
/ 19 марта 2019

В настоящее время у меня есть массив, содержащий 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 голосов
/ 20 марта 2019

Если у вас есть список строк, а не массив, то 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 лучше; он использует наполнитель только между строками

...