如何在OCaml中实现“noop but return unit”?

14

我希望通过模式匹配后打印字符串列表,以便进入此强大功能。

我应该如何表达“什么也不做但返回单元”的操作?

我的意思是:

let print_nodes nodes =
  match nodes with
      []     -> (* here i want to noop *)
    | s :: t -> print_string s; print_nodes t

我知道我可以使用iter函数,但我只是好奇。 - Jack
是的,但我是即兴编写代码的,所以忘记了 :) - Jack
1个回答

26

您可以简单地写()

请参阅手册中的Variant values: ()是构建unit值的方法。


好的,我刚刚搜索到了并找到了它!很抱歉这个愚蠢/简单的问题,但是直到现在我还没有找到空的()单元:/ - Jack
1
@Jack,嗯,它并不经常使用 :) 如果你以纯函数式风格编写(没有副作用),你根本不需要使用它... - Pascal Cuoq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接