我是新來的scala,當研究模式匹配部分時,我感到困惑。模式匹配,「::」不應用混淆
val hd::tail = List(1,2,3,4,5)
執行該代碼後,HD將INT = 1,和尾部將列表[INT] =列表(2,3,4,5)。 這碼等於:
val ::(hd,tail) = List(1,2,3,4,5)
我瞭解到,這個代碼是模式匹配,它實際上調用不應用方法。 但是,當我以這種方式編寫代碼,編譯錯誤:
val result = ::.unapply(List(1,2,3,4,5))
它說,方法參數類型不匹配。 「::」的不適用方法需要「:: [?]」
有誰知道原因?
這可能是因爲'(HD,尾),'是不是有效標識符。 – kingdamian42