Scala lambda 风格 (x) => {...} vs { (x) => ... }
Scala lambda style (x) => {...} vs { (x) => ... }
我是 Scala 的新手,正在使用 ReScala 阅读一些示例代码。在该代码中,作者似乎使用两种样式来定义 lambda:
{ x => println(x) }
(x => { println(x) })
我假设这两种风格在语义上是等价的。但是我认为第二种风格允许在 lambda 主体中轻松添加额外的语句。
对吗?哪种方式更"idiomatic"? {}
是否打开一个新的词法范围(如在 C 中)也很有趣。
I assume these two styles are semantically equivalent.
是
However I think the second style allows easy addition of additional statements in the lambda body.
没有。或者,更确切地说,是的,但是第一种样式也是如此。
Which way is more "idiomatic"?
这是基于意见的。意见不一。
It would also be interesting whether {}
opens a new lexical scope (like in C) or not.
是的,他们有。
我是 Scala 的新手,正在使用 ReScala 阅读一些示例代码。在该代码中,作者似乎使用两种样式来定义 lambda:
{ x => println(x) }
(x => { println(x) })
我假设这两种风格在语义上是等价的。但是我认为第二种风格允许在 lambda 主体中轻松添加额外的语句。
对吗?哪种方式更"idiomatic"? {}
是否打开一个新的词法范围(如在 C 中)也很有趣。
I assume these two styles are semantically equivalent.
是
However I think the second style allows easy addition of additional statements in the lambda body.
没有。或者,更确切地说,是的,但是第一种样式也是如此。
Which way is more "idiomatic"?
这是基于意见的。意见不一。
It would also be interesting whether
{}
opens a new lexical scope (like in C) or not.
是的,他们有。