我有一个方法:
def replaceSpecialSymbols(str: String): String = str.collect {
case '/' => '-'
case _ => _
}.toString
当我尝试构建此代码时,收到错误消息:“error:unbound placeholder parameter case _ => _”
我知道我可以使用replaceAll。但我想知道Scala编译器在这种情况下发生了什么。
谢谢。
答案 0 :(得分:5)
使用case x => x
- 问题已解决。此外,您可以使用map
代替collect
,因为这是一场详尽的匹配。
或者如果您只需要第一种情况,请完全删除case _ => _
并继续使用collect
。