【发布时间】:2011-09-15 06:55:47
【问题描述】:
在'Developing Applications with OCaml'一书中,关于返回值有如下解释:
由于分号前面的值被丢弃,Objective CAML 会在它不是单元类型时发出警告。
# print_int 1; 2 ; 3 ;; Characters 14-15: Warning: this expression should have type unit. 1- : int = 3 To avoid this message, you can use the function ignore: # print_int 1; ignore 2; 3 ;; 1- : int = 3`
我不明白为什么2 的返回值与unit 不同会是个问题,因为我的意图不是返回2,而是返回3。按照我的理解,我最后一条指令之前的任何指令都不是函数的返回值,那么为什么会出现警告?
我的代码中一直有这个警告,我越来越清楚我并不真正理解返回值在 OCaml 中是如何工作的。
感谢您的帮助。
【问题讨论】:
标签: return-value ocaml