模式匹配Scala中的案例类列表
发布时间:2020-12-16 18:22:41 所属栏目:安全 来源:网络整理
导读:假设我有一个我希望模式匹配的案例类列表,如果有类型,则返回true或false.例如., case class TypeA(one: String,two: Int,three: String)val list = List(TypeA,TypeA,TypeA) 我想现在匹配类型列表,看看TypeA是否包含其参数之一的某个值(比如第一个参数).我所
假设我有一个我希望模式匹配的案例类列表,如果有类型,则返回true或false.例如.,
case class TypeA(one: String,two: Int,three: String) val list = List(TypeA,TypeA,TypeA) 我想现在匹配类型列表,看看TypeA是否包含其参数之一的某个值(比如第一个参数).我所拥有的是以下内容: def isAvailableInTypeA(list: List[TypeA],checkStr: String) = { !(list.dropWhile(_.one != checkStr).isEmpty)) } 对于我想要实现的目标,是否有更好的可读性建议? 解决方法
如果要检查谓词是否适用于列表的元素,请使用.exists.
scala> val l = List(TypeA("a",2,"b"),TypeA("b","b")) l: List[TypeA] = List(TypeA(a,b),TypeA(b,b)) scala> l.exists(_.one == "a") res0: Boolean = true scala> l.exists(_.one == "c") res1: Boolean = false (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |