Scala语言的理解
示例
如果您有几个单子类型的对象,我们可以使用“用于理解”来实现值的组合:
for {
x <- Option(1)
y <- Option("b")
z <- List(3, 4)
} {
//现在我们可以使用x,y,z变量
println(x, y, z)
x //在这种情况下,最后一个表达式*不是*块的输出!
}
//此打印
// (1, "b", 3)
// (1, "b", 4)此块的返回类型为Unit。
如果对象具有相同的单子类型M(例如Option),则usingyield将返回类型为M而不是的对象Unit。
val a = for {
x <- Option(1)
y <- Option("b")
} yield {
//现在我们可以使用x,y变量
println(x, y)
//输出在块的末尾是输出
(7 * x, y)
}
//此打印:
// (1, "b")
//val`a设置为:
//a:选项[(Int,String)]=某((7,b))请注意,在混合示例类型(和)混合的原始示例中,不能使用yield关键字。尝试这样做将产生编译时类型不匹配错误。OptionList
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短