它應該檢查一個Stream(that)是否是另一個(this)的前綴。Scala實現startsWith在流上
例如,Stream(1,2,3)startsWith Stream(1,2)將爲true。
這是我的實現,但它總是返回false!
任何人都可以告訴我爲什麼,也可以發佈更正?
def startsWith[B >: A](that: Stream[B]): Boolean = (this, that) match {
case (_,Empty) => true
case (Cons(h,t),Cons(h2,t2)) if h == h2 => t().startsWith(t2())
case _ => false
}
你打我吧,但我認爲應該是h()== h2()=> – ddkr