来自 ocaml 的嵌套 let 语法

Cje*_*en1 1 syntax rust

我刚刚开始学习 Rust,而且我来自 OCaml 背景。

我经常使用的一件事是嵌套let表达式,以便将相关代码组合在一起。

let x = 
  let y = 42 in
  y + 1
in
...
Run Code Online (Sandbox Code Playgroud)

我对这个生锈的天真翻译是:

let x = 
  let y = 42;
  y + 1
;
Run Code Online (Sandbox Code Playgroud)

但是,这无法编译。

这种类型的语法是否可行,或者它是否受到严重反对,因此不受支持?

gle*_*nsl 9

Rust 使用花括号来分隔范围。这工作正常:

let x = {
  let y = 42;
  y + 1
};
Run Code Online (Sandbox Code Playgroud)