В дополнение к ответу Джеффри я бы посоветовал вам использовать стандартную библиотеку больше для написания более краткого кода.
List.iter
, например, вызывает данную функцию для всех элементов списка:
let print_list l = List.iter (fun e -> Printf.printf "%s\n" e) l
Используя умное частичное приложение , вы можете сделать эту строку еще короче и более читабельной:
let print_list = List.iter (Printf.printf "%s\n")
Единственная разница с вашей функцией - это новая строкапосле последнего элемента.
С другой стороны, вместо того, чтобы печатать элементы один за другим, более функциональным и идиоматическим подходом было бы сначала создать всю строку, а затем распечатать ее.
К счастью, стандартная библиотека покрыла вас.String.concat
объединяет элементы в string list
в одну большую строку.Вы также можете указать строку для использования в качестве разделителя, и вам не нужно беспокоиться о переводе строки после последнего элемента.
let print_list l = print_string (String.concat "\n" l)