加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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()方法中的==(突出显示为红色,但编译).

任何帮助,将不胜感激!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读