如何解决Ocaml递归在另一个函数中不打印int
当我编译并执行这段代码时。它什么也不打印。
let main list =
let rec xyz list =
match list with
|[]->[]
|m::body ->
begin
print_int m;
xyz body
end
in xyz
let h = main [1;2;3]
如果 xyz 在 main 之外使用,则正常工作且没有任何错误并打印 1 2 和 3
解决方法
在启用所有警告的情况下编译代码会产生以下警告:
1 | let main list =
^^^^
Warning 27 [unused-var-strict]: unused variable list.
事实上,参数 list
没有被 main
使用,因为在
let main list =
let rec xyz list =
...
in
xyz
您返回函数 xyz
而没有应用它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。