Я хотел бы напечатать каждое целое число в списке.
Я могу сделать это с помощью List.iter
вот так:
digits
|> List.iter
(fun i -> print_int i; print_newline ())
Однако я обычно предпочитаю хранить императивный код вне конвейеров функций.
Можно ли написать это в цикле for-each в OCaml?
(Гипотетический синтаксис)
for i in digits do
print_int i ;
print_newline ()
end
Короткий ответ? Нет.
Более развернутый ответ: в былые дни camlp4 что-то подобное, вероятно, можно было взломать.
Если мы собираемся добавить этот синтаксис и сопутствующую семантику, нам придется ответить на несколько вопросов:
Предложение: Упростите показанный код, используя модули Printf
или Format
и частичное применение.
digits
|> List.iter (Format.printf "%d\n")