Scala控制结构全解析
在Scala编程中,控制结构是非常重要的一部分,它能帮助我们实现各种复杂的逻辑。下面将详细介绍Scala中常见的控制结构及其使用方法。
1. for/yield组合的编译转换
在Scala里, for/yield 组合会被编译器进行特定的转换。例如:
// #4 - input code
for { i <- 1 to 10 } yield i
// #4 - output
1.to(10).map(((i) => i))
当使用 yield 语句时,编译器会把 for/yield 代码转换为对集合的 map 方法调用。如果添加了守卫条件,例如:
// #5 - input code (for loop, guard, and yield)
for {
i <- 1 to 10
if i % 2 == 0
} yield i
// #5 - translated code
1.to(10).withFilter(((i) => i.$percent(2).$eq$eq(0))).map(((i) => i))
守卫条件会被转换为 withFilter 方法调用,而 for/yield 代码依然转换为 map
超级会员免费看
订阅专栏 解锁全文
226

被折叠的 条评论
为什么被折叠?



