Ocaml递归在另一个函数内部时不打印int
Ocaml recursion not printing int when inside another Function
当我编译并执行这段代码时。它什么都不打印。
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]
如果在 main 之外使用 xyz 则可以正常工作并打印 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
而未应用它。
当我编译并执行这段代码时。它什么都不打印。
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]
如果在 main 之外使用 xyz 则可以正常工作并打印 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
而未应用它。