OCaml代码因分号触发Warning 10警告的修复方法咨询
修复OCaml的Non-unit-statement警告
警告原因
OCaml中,分号;用于串联unit类型的表达式序列。你的代码里let x=3;的问题在于:let x=3是变量绑定,它的类型并非unit,却被放在了分号前,因此触发了Warning 10。
修复方案
根据实际需求选择对应的方法:
需要保留变量x:直接去掉分号,或者用
;;分隔绑定和后续语句(;;用于标记表达式结束,适合脚本或交互环境)let x=3 print_string "hello world!";;或者:
let x=3;; print_string "hello world!";;不需要变量x:直接删除多余的绑定行
print_string "hello world!";;必须将绑定放在表达式序列中:如果是在
begin...end这类需要序列的上下文里,可通过忽略绑定结果让表达式变为unit类型let _=3;; print_string "hello world!";;或者用
ignore函数:ignore (let x=3 in x);; print_string "hello world!";;
内容的提问来源于stack exchange,提问作者zell
相关产品推荐
相关产品推荐

