scala 模式匹配中 List(_,_)是如何理解的

新手上路,请多包涵
// Make a list via the companion object factory
val days = List[String]("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
val days2 = List(1,2)
// Make a list element-by-element
val when = "AM" :: "PM" :: List()
// Pattern match
days2 match {
  case List(_,_) =>
    println("aaaaaaaaaaaaaasys: " + _)
  case List() =>
    println("There don't seem to be any week days.")
}

###
后台直接打印
com.kindo.demo.scala.HelloWorld$$$Lambda$6/1915910607@10f87f48

走的模式应该是List(_,_),我想知道打印的这串是什么意思,为啥前面的aaaaaaaaaaaaaasys,没有打印
阅读 2.1k
1 个回答

这里的"aaaaaaaaaaaaaasys: " + _ 应该是一个偏函数:

scala> "" + _
res7: Any => String = $$Lambda$1347/77057267@55732ae6

所以println 里面是一个函数而不是一个字符串

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进