当我编译并执行这段代码时。它什么也没印。
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在主存储器外使用,则工作时没有任何错误,并打印1 2和3
在启用所有警告的情况下编译代码会产生以下警告:
1 | let main list =
^^^^
Warning 27 [unused-var-strict]: unused variable list.
事实上,main
没有使用参数list
,因为在中
let main list =
let rec xyz list =
...
in
xyz
您正在返回函数xyz
而不应用它。