Scala:将返回类型转换为自定义特征

前端之家收集整理的这篇文章主要介绍了Scala:将返回类型转换为自定义特征前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我编写了一个扩展Iterator [A]的自定义特性,我希望能够使用我在另一个方法返回的迭代器[A]上编写的方法.这可能吗?

trait Increment[+A] extends Iterator[A]{
    def foo() = "something"
}

class Bar( source:BufferedSource){
    //this ain't working
    def getContents():Increment[+A] = source getLines
}

我仍然试图绕过整个implicits的事情,而不是像在Bar对象定义中编写一个方法.我将如何以上述方式包装这样的物品?

解决方法

弄清楚了.我尝试了解一下:

object Increment{
    implicit def convert( input:Iterator[String] ) = new Increment{
        def next() = input next
        def hasNext() = input hasNext
    }
}

我已经完成了太奇怪了.

猜你在找的Scala相关文章