Ocaml递归在另一个函数中不打印int

时间:2021-04-22 16:43:46

标签: ocaml

当我编译并执行这段代码时。它什么也不打印。

 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 个答案:

答案 0 :(得分:2)

在启用所有警告的情况下编译代码会产生以下警告:

1 | let main list =
             ^^^^
Warning 27 [unused-var-strict]: unused variable list.

事实上,参数 list 没有被 main 使用,因为在

let main list =
  let rec xyz list =
    ...
  in
  xyz

您返回函数 xyz 而没有应用它。

相关问题