"嵌套功能"在斯卡拉

时间:2015-09-23 06:56:19

标签: scala

我有一个初学者的问题。我以为我可以在scala中嵌套函数:

myString.replaceAll("a", "b") { replacedStr1 =>
  replacedStr1.replaceAll("c", "d") }

但它给了我"缺少参数类型:replacementStr1" replacementStr1出错。

1 个答案:

答案 0 :(得分:0)

您尝试过于复杂的事情,只需拨打replaceAll两次:

"acacacacacac".replaceAll("a", "b").replaceAll("c", "d") 

在您的示例中,您:

  1. 全部替换" a" by" b"在myString
  2. 定义一个函数??? => _.replaceaLL(" C"" d&#34)
  3. 你在大括号中放入的是一个函数定义,你忘了给它输入参数replacedStr1的类型。那是错误信息的内容。如果你在哪里写:

    { replacedStr1: String => replacedStr`.replaceAll("c","d") }
    

    它会编译。但是,此功能将被定义但不能使用。