我有一个功能
val output2 = list
.map(i =>
if (i % 2 == 0) println("This is even number")
else println("This is odd number")
)
我可以在lambda表达式中使用下划线而不是i吗?如果是这样的话?
我读过如果变量在表达式中只使用一次,则可以用_
替换变量。
答案 0 :(得分:0)
_
仅在简单表达式中有用。如果你仍然坚持要看你的程序应该只用_
,你应该有类似的东西:
list.map(_ % 2 == 0) foreach {
if(_) println("This is even number") else println("This is odd number")
}
另请注意,您的表达式并没有达到您期望的效果。变量output2
包含4个Unit
s(List((), (), (), ())
)的列表,我猜这不是您最初想要的。