scala – 扩展函数的缺失参数类型
发布时间:2020-12-16 09:50:22 所属栏目:安全 来源:网络整理
导读:我是 Scala的新手,我在阅读 Scala in Action一书中的一个例子时遇到了麻烦. 我正在使用IntelliJ,但我也尝试过它作为脚本(REPL). scala编译器给出了与IntelliJ相同的错误. (我正在使用Scala 2.10,如书中所示). 这是我的代码: def parseArgs(args: Array[Stri
我是
Scala的新手,我在阅读
Scala in Action一书中的一个例子时遇到了麻烦.
我正在使用IntelliJ,但我也尝试过它作为脚本(REPL). scala编译器给出了与IntelliJ相同的错误. (我正在使用Scala 2.10,如书中所示). 这是我的代码: def parseArgs(args: Array[String]): Map[String,List[String]] = { val command = args.head val params = parseArgs(args) val url = args.last def nameValuePair(paramName: String) = { def values(commaSeparatedValues: String) = commaSeparatedValues.split(",").toList // x => x + 2 val index = args.indexOf(_ == paramName) (paramName,if(index == -1) Nil else values(args(index + 1))) } Map(nameValuePair("-d"),nameValuePair("-h")) } 我收到的消息是: C:scalaprojectsscriptsrestclientscript.scala:12: error: missing parameter type for expanded function ((x$1) => x$1.$eq$eq(paramName)) val index = args.indexOf(_ == paramName) ^ one error found 这正如书中所示,但我无法弄清楚如何使它工作. 方法indexOf实际上也是书中的findIndexOf.但编译器告诉我的那个方法不存在(和doc:http://www.scala-lang.org/api/2.10.3/index.html#scala.Array). 最后,IntelliJ不会接受indexOf()方法中的==(突出显示为红色,但编译). 任何帮助,将不胜感激! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |