在Scala中,如何在没有语法错误的情况下调用名为`+`的对象上的方法?

Tan*_*ett 2 syntax scala syntax-error

我有一个名为+with的方法调用的对象B.我试着像这样调用这个方法:

object + {
    def B() = Console.println("'Sup, world?")
}

object Main extends App {
    +.B()
}
Run Code Online (Sandbox Code Playgroud)

(Ideone链接:http://ideone.com/0OyKw2 )

但这给了我一个语法错误:

Main.scala:6: error: illegal start of simple expression
    +.B()
         ^
Run Code Online (Sandbox Code Playgroud)

我试过几个调用此方法的不同方式,比如+ .B,(+).B,`+`.B,(`+`).B,和( + ).B.我还没有发现任何可行的东西.

我可以以某种方式调用此方法,或者我最好只为对象使用不同的名称?

Thi*_*ilo 6

你最好只使用一个"更安全"的名字,但这有效:

$plus.B
Run Code Online (Sandbox Code Playgroud)

  • 这依赖于特定平台上特定实现的特定版本的特定编码.我不会打赌这个工作,例如Scala-native或更新的版本. (2认同)