如何解决如何在 OCaml 中让 let rec n 读取 read_int
这段代码的目的是给一个数字实现多次操作,直到数字等于 42。我无法让 let rec 读取 read_int
let n = read_int ()
let rec check n =
if n < 42 then begin Printf.printf "bad luck" end
else if n = 42 then begin Printf.printf "u win" end
else if n mod 5 = 0 then begin check (n - 42) end
解决方法
-
当你只有一个表达式时,你不需要有
begin
/end
-
如果您想每次调用
read_int
时都调用check
,则:-
check
不需要接受参数n
- 你必须在
read_int ()
的主体内调用check
-
-
但是,如果您想使用最初从标准输入读取的值调用
check
,然后通过check
的递归调用传递,那么您需要:- 接受参数
check
的纯函数(递归)函数n
- 另一个函数
check_input
读取标准输入并将值传递给check
- 接受参数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。