我想了解什麼是斯卡拉與案例類,使他們以某種方式免疫鍵入擦除警告。 假設我們有以下簡單的類結構。這基本上是一個Either: abstract class BlackOrWhite[A, B]
case class Black[A,B](val left: A) extends BlackOrWhite[A,B]
case class White[A,B](val right: B) ext
我希望能夠做到這一點: scala> val Int(i) = "1"
i: Int = 1
但Int沒有一個unapply方法。 我找到了this answer,它給出瞭如何隱式添加方法到現有對象的說明,所以我試了一下。他們提供的解決方案的工作,但不幸的是不適合模式匹配。下面是我有: object UnapplyInt {
val IntRE = """^(\d+)$""".r
比方說,我有這樣的集合: val a = Array(Array(1,2,3,4,5),Array(4,5),Array(5),Array(1,2,6,7,8))
有沒有辦法來定義一個提取器,其將在以下方式工作: a.foreach(e => {
e match {
case Array(ending with 5) =>
case _ =>
}