2010-11-28 3 views
2

Возможно ли создать список, расчесывая элементы списка, а не создавая список списков?Объединение элементов в список - OCaml

Пример:

List.combine [ "А", "Б"] [ "С"; "Д"] ;;

я получаю: [[ "A", "B"] [ "C", "D"]]

Можно ли генерировать [ "A", "B", "C";» D "]?

Пожалуйста, помогите !!!

+1

Просто для записи `List.combine [ "A", "B"] [ "C", "D"]` * не * дают вам `[[" A ";" B "] [" C ";" D "]]`, это дает вам `[(« A »,« C »); («B», «D»)]. – sepp2k 2010-11-28 11:52:44

+0

Вы можете использовать: List.concat (например: List.concat [l1; l2]; где l1 = [A; B] и l2 = [C; D] или List.append l1 l2 – Quyen 2015-05-07 08:46:13

ответ

9

Я думаю, что оператор @ или List.append - это то, что вы хотите.

Пример с оператором @:

# let x = 4::5::[];; 
val x : int list = [4; 5] 
# let y = 5::6::[];; 
val y : int list = [5; 6] 
# let z = [email protected];;  
val z : int list = [4; 5; 5; 6] 
Смежные вопросы