在很多Scala的例子中,我看到人们在某些地方使用花括号,这让我感到非常奇怪,因为同样的语句可以很容易地用括号来表示。
例如:
lst foreach (x => println(s"the value returned is: $x")) // parens
lst foreach {x => println(s"you get the idea, $x")} // braces
我知道你可以使用大括号作为括号的替代,因为它允许你将语句写在多行上:
val res = for {
x <- coll1
y <- coll2
} yield (x, y)
- 当代码写成一行时,使用其中一个相对于另一个是否有内在的原因?
- 最终的结果应该是相同的,或者我漏掉了什么吗?
- 还是这只是风格和/或个人喜好的问题?
foreach
,在柯里化函数时,如果最后一个参数是一个函数,使用{ }
允许你创建(类似)新的控制结构。在实践中非常有用。 - VH-NZZ