有一种简洁的方式来检查表达式是否与给定的模式匹配?例如,请考虑以下代码:简洁的方式来检查表达式是否与Scala中的模式匹配
val result = expr match {
SomePattern(_, 1, _) => true
_ => false
}
尽管此代码有效,但它相当噪音且很长。我想知道是否有更好的方法来达到同样的效果。这将是巨大的,如果斯卡拉有matches
结构,这将允许一个写
val result = expr matches SomePattern(_, 1, _)
我甚至会考虑写一个辅助功能,使可能沿着这些线路的东西。但是,这似乎很难做到,因为据我所知,我无法通过一种模式作为论据。也许像这样的事情可能在Scala 2.10中可用的宏(作为实验性功能)?
噢,是的,Paul Phillips对链接问题的回答可能是最好的你会得到:) – 2013-02-01 15:09:07