println(xx);case-6ren">
gpt4 book ai didi

scala - 使用 foreach 时将 match 语句转换为部分函数

转载 作者:行者123 更新时间:2023-12-04 16:52:59 32 4
gpt4 key购买 nike

IntelliJ 给了我以下代码的提示:

val l = List(0, "1", 2, "3")

l.foreach{_ match {case xx:Int => println(xx);case _ =>}}

提示是“将匹配语句转换为部分函数”

当我将 foreach 更改为
l.foreach{case x:Int => println(x)}

我收到了 scala.MatchError异常(exception)。我可以用 collect而不是 foreach ,但是这会产生结果 List从未使用过。

是否有一些常见的方法来处理这个问题(比如 foreach 忽略不匹配的值),或者我应该忽略提示?

最佳答案

放回默认情况:

val l = List(0, "1", 2, "3")

l.foreach { case xx:Int => println(xx); case _ => }

IDEA 会很高兴:

enter image description here

事实上,如果您点击建议的操作(当您的插入符号指向黄色文本时,请按 ALT+ENTER),这就是 IDEA 将生成的内容

关于scala - 使用 foreach 时将 match 语句转换为部分函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23760272/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com