2015-11-18 31 views
0

是否有更多功能的方式来做到以下几点?斯卡拉理解与空列表的特殊待遇

if (myList.isEmpty) { 
    println("Empty list") 
} else for (element <- myList) { 
    println(element) 
} 

也许是这样的:

for (element <- myList) { 
    println(element) 
} orElse { 
    println("Empty list") 
} 

回答

4

你有什么看起来不错,但一个变化可能是:

myList match { 
    case Nil => println("Empty list") 
    case _ => myList.foreach(println) 
} 
+0

后几个月被暴露在Scala中,我意识到,我们应该在可以应用模式匹配的情况下避免使用if else。模式匹配使代码更具可读性和简洁性。另外,由于Scala中的case class和apply()函数的强大功能,它提供了更高的灵活性。 –