[英]Understanding Scope on Scala's For Loops (For Comprehension)
在Scala编程的第3章中,作者给出了for循环/ for comprehension的两个例子,但是在using()和{}之间切换。 为什么会出现这种情况,因为这些本身看起来像是在做同样的事情? 是否有一个原因breed <- dogBreeds
在示例#2中的第二行?
// #1 ()'s
for (breed <- dogBreeds
if breed.contains("Terrier");
if !breed.startsWith("Yorkshire")
) println(breed)
// #2 {}'s
for {
breed <- dogBreeds
upcasedBreed = breed.toUpperCase()
} println(upcasedBreed)
如果您阅读绿色提示:
for表达式可以用括号或花括号定义,但使用花括号意味着你不必用分号分隔你的过滤器。 大多数情况下,当您有多个过滤器,分配等时,您更喜欢使用花括号。
因此,对于使用() and {}
理解是唯一改变的是使用的分隔符:for ()
你必须使用semicolon ";"
作为分隔符和{}
你使用new line
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.