重命名导入的静态函数有什么问题?

Ill*_*huk 3 import scala

请考虑以下Scala代码:

    object MainObject {

    def main(args: Array[String]) {

      import Integer.{
        parseInt => atoi
      }

      println(atoi("5")+2);

      println((args map atoi).foldLeft(0)(_ + _));

  }
Run Code Online (Sandbox Code Playgroud)

第一个println正常工作并输出7,但第二个,尝试映射字符串数组对函数atoi不起作用,错误"值atoi不是对象java.lang.Integer的成员"

有什么不同?

ret*_*nym 5

看起来像个bug.这是一个更简单的例子.

object A {
  def a(x: Any) = x
  def b = ()
}

{
  A.a(0)
  A.a _
}

{
  import A.a
  a(0)
  a _
}

{
  import A.{a => aa}
  aa(0)
  aa _  //  error: value aa is not a member of object this.A
}

{
  import A.{b => bb}
  bb
  bb _
}
Run Code Online (Sandbox Code Playgroud)