用匹配器计数

时间:2014-12-27 20:12:52

标签: scala pattern-matching case-class

是否有更短的方式来编写以下内容(QuizWord是一个案例类):

list.count { case w: QuizWord => true; case _ => false}

2 个答案:

答案 0 :(得分:3)

使用collect考虑类型上的类似模式匹配,如下所示,

list.collect { case w: QuizWord => w }.size

答案 1 :(得分:3)

有时使用isInstanceOf比模式匹配更具可读性。这将是有效的。

list.count(_.isInstanceOf[QuizWord])