我想打印列表中的每个整数。
我可以用
List.iter
来做到这一点,就像这样:
digits
|> List.iter
(fun i -> print_int i; print_newline ())
但是,我通常更喜欢将命令式代码保留在函数管道之外。
是否可以在 OCaml 中的 for-each 循环中编写此代码?
(假设语法)
for i in digits do
print_int i ;
print_newline ()
end
简答?没有。
更长的答案:在 camlp4 过去的日子里,类似这样的东西可能会被一起黑客攻击。
如果我们要添加此语法和附带的语义,我们必须回答几个问题:
建议:使用
Printf
或 Format
模块简化显示的代码。
digits
|> List.iter (Format.printf "%d\n")
除了最上面的回复之外,如果您使用列表,Ocaml 网站 还有一个非常好的答案。
想象你有一些清单
digits
let x elem =
Printf.printf "element %d \n" elem
in
List.iter x digits;;