我编写了一个扩展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 } }
我已经完成了太奇怪了.