【发布时间】:2011-07-18 19:51:08
【问题描述】:
我知道您可以通过以下方式对列表进行匹配
val list = List(1,2,3)
list match {
case head::tail => head
case _ => //whatever
}
所以我开始想知道这是如何工作的。如果我理解正确,:: 只是一个操作员,那么有什么能阻止我做类似的事情
4 match {
case x + 2 => x //I would expect x=2 here
}
如果有办法创建这种功能,它是如何完成的;如果不是,那为什么?
【问题讨论】:
-
你为什么不使用
y-2(当y = 4时)? -
这更像是一种好奇心,所以我没有任何具体的例子,但我认为这对于更复杂的类来说很好。