Function OCaml打印字符串后如何返回值?
我对OCaml非常陌生,正在尝试编写一个接受字符串和int的函数。它打印出“Hello”+传入的字符串,然后返回1+int。到目前为止,我有这个,但它似乎不起作用:Function OCaml打印字符串后如何返回值?,function,return,ocaml,Function,Return,Ocaml,我对OCaml非常陌生,正在尝试编写一个接受字符串和int的函数。它打印出“Hello”+传入的字符串,然后返回1+int。到目前为止,我有这个,但它似乎不起作用: let random_func s n = print_string "Hello, "; print_string s;1+n;; 你知道我做错了什么吗?你的代码对我的作用与你给出的完全一样: # let random_func s n = print_string "Hello, "; print_string s;1+n;;
let random_func s n = print_string "Hello, "; print_string s;1+n;;
你知道我做错了什么吗?你的代码对我的作用与你给出的完全一样:
# let random_func s n = print_string "Hello, "; print_string s;1+n;;
val random_func : string -> int -> int = <fun>
# random_func "yow" 4;;
Hello, yow- : int = 5
#让random_func sn=print_字符串“Hello,”;打印字符串;1+n;;
val random_func:string->int->int=
#随机函数“yow”4;;
你好,yow-:int=5
也许问题在于解释顶层的输出?函数的输出紧接着顶级输出。如果您在程序中使用代码(而不是在顶级),并且希望输出立即可见(例如,在从用户获得一些输入之前),您可能还需要刷新缓冲区:
let random_func s n =
print_string "Hello, ";
print_string s;
flush stdout;
1+n
;;
在任何情况下,这与函数返回int无关