Scala 隐式添加对象方法

Scala 隐式添加对象方法,scala,object,implicit,Scala,Object,Implicit,有没有办法在scala对象中隐式添加方法 Upd: 例如,未过滤的scala库具有单例对象Body,其中包含从http请求读取Body的方法Body.string(req:HttpRequest)和Body.bytes(req:HttpRequest)。所以,我想在我的域对象中读取body,比如body.cars(req:HttpRequest) 隐式添加方法是什么意思?这个代码窃贼是否回答了您的问题: implicit def toFunkyString(s: String) = new {

有没有办法在scala对象中隐式添加方法

Upd: 例如,未过滤的scala库具有单例对象
Body
,其中包含从http请求读取Body的方法
Body.string(req:HttpRequest)
Body.bytes(req:HttpRequest)
。所以,我想在我的域对象中读取body,比如
body.cars(req:HttpRequest)

隐式添加方法是什么意思?这个代码窃贼是否回答了您的问题:

implicit def toFunkyString(s: String) = new {
  def reverseUpper = s.reverse.toUpperCase
}

"Foo".reverseUpper  //yields 'OOF'
toFunkyString("Foo").reverseUpper  //explicit invocation

请更好地解释您想要什么。
“Foo”
是一个类实例,我的意思是在singleton对象中添加方法,类似于
Math.myMethod(1)
。都一样吗?我不明白。。。这是整个源文件吗?像ObjB.scala?或者这是某种方法实现的一部分?我试着在我的代码中加入这一点,但它不起作用…@Eduardobezera我更新了答案,使用2.11.7,但我现在不使用Scala,所以欢迎任何建议。
import scala.language.implicitConversions

object ObjA

object ObjB {
  def x = 1
}

object Main {
    implicit def fromObjA(objA: ObjA.type) = ObjB

    def main(args: Array[String]): Unit = {
        println(ObjA.x)
    }
}