如何根据Ocaml中的条件分配值?

Sof*_*mur 3 ocaml

我想表达如下内容:

if b then
  let value = ... in
else
  let value = .... in
let double = value * 2
Run Code Online (Sandbox Code Playgroud)

但似乎Ocaml不允许这种语法.如果我不想重复该let double = value * 2部分,我是否必须定义value为参考?

非常感谢你!

Chu*_*uck 13

你的麻烦在于你正在考虑这个(有条件地分配给变量)而不是功能(将名称绑定到表达式的结果):

let value = if b then ... else ... in
let double = value * 2
Run Code Online (Sandbox Code Playgroud)