新手问题:
假设我有一个do_sth非常慢的函数,并将其应用于范围1到n。我想打印do_sth i循环时的结果。这该怎么做?天真尝试失败,因为这些值仅在整个循环之后才打印:
let rec loop i =
if i>1000 then 0
else
let fi = do_sth i in
(
Printf.printf "%d %d\n" i fi;
fi + loop (i+1)
)
let f_sum = loop 1
Run Code Online (Sandbox Code Playgroud) ocaml ×1