【发布时间】:2016-05-29 13:37:51
【问题描述】:
是否可以在一个类中拥有一个进行隐式转换的方法。在这种情况下,我希望能够立即将一个代表一对事物的对象解压缩成一个 2 元组。
case class Foo(a:String, b:String) {
implicit def asTuple:(String, String) = (a,b)
}
val foo0 = new Foo("Hello", "World")
// Does not work!
val (a:String, b:String) = foo0
上面的例子坏了。
这是我的第二次尝试 - 也失败了:
class Foo(a:String, b:String) {
val _a:String = a
val _b:String = b
}
implicit def asTuple(x:Foo):(String, String) = (x._a, x._b)
val foo0 = new Foo("Hello", "World")
// Does not work!
val (a:String, b:String) = foo0
鉴于我已经设法将隐式类型转换从一个类转换为另一个“正常工作”,我预计这里的问题更多与将元组定义为返回类型有关。谁能帮帮我?
【问题讨论】: