scala - Scala:使用if语句对列表项进行模式匹配时,简单模式的非法开始
问题描述
我想使用 if 语句对列表项进行模式匹配。但是,我在 if 语句之前的空格处出现错误,说“简单模式的非法开始”。使用 IF 语句对列表项实现模式匹配的正确方法是什么?
def myMethod(xs: List[Int]): Int= {
xs match {
case Nil => 0
case i :: if (i % 2 == 0) => i
}
}
解决方案
你_
在警卫面前失踪if
def myMethod(xs: List[Int]): Int = xs match {
case Nil => 0
case i :: _ if (i % 2 == 0) => i
}
推荐阅读
- c++ - 如何使用命名空间中定义的运算符?
- spring - 查询结果在休眠上的ManyToMany关系上无限递归
- python - 我可以在 pythonanywhere 的上传网站中安装 Django Rest Framework 吗?
- javascript - 将来自 epic-games-api 的 callback-console.log 放入 express js
- python - 如何最好地解压元组的 Pandas 数据框?
- javascript - 向猫鼬模式添加字段不仅适用于特定模式
- python - bigquery load_table_from_json 的超时错误
- typescript - 使用 HLS 更改 videojs 中的音轨标签
- python - 将图像裁剪成单独的部分
- android - 颤振谷歌地图滞后