Scala lambda style (x) => {...} vs { (x) => ... }



我是Scala新手,正在使用ReScala阅读一些示例代码。在这段代码中,作者似乎使用了两种样式来定义lambdas:

  1. { x => println(x) }
  2. (x => { println(x) })

我假设这两种风格在语义上是等价的。然而,我认为第二种风格允许在lambda主体中轻松添加额外的语句。

正确吗?哪种方式更"地道"?{}是否打开一个新的词法作用域(像C中一样)也很有趣。

我认为这两种风格在语义上是等价的。

是的

然而,我认为第二种风格允许在lambda主体中轻松添加额外的语句。

。或者,更确切地说,是的,但第一种样式也是如此。

哪一种方式更"地道"?

这是基于意见的。众说纷纭。

{}是否打开一个新的词法作用域(如在C中)也将是有趣的。

最新更新