我写
object MyString {
implicit def stringToMyString(s: String) = new MyString(s)
}
class MyString(str: String) {
def camelize = str.split("_").map(_.capitalize).mkString
override def toString = str
}
object Parse {
def main(args: Array[String]) {
val x = "active_record".camelize
// ...
}
}
在我的程序中。这会导致编译错误。在我插入代码之后
import MyString.stringToMyString
然后它就能正常工作了。
根据奥德斯基在《Scala编程》中的说法,源类型或目标类型的伴生对象中的隐式转换不需要被导入。