我目前在做斯卡拉過程Functionnal編程原則上Coursera和我剛剛得知模式匹配。我試圖做一些似乎不可能的事情,我想知道什麼是正確的習慣用法。 這裏從課程的一些代碼: trait Expr
case class Number(n: Int) extends Expr {
def next = n + 1 // I've added this method
}
case cl
我正在關注在線tutorial on Haskell。我們定義一個函數來添加二維向量,用數組元組對錶示。以下是顯式類型聲明,確保兩個輸入都是二維向量。 addVectors :: (Num a) => (a, a) -> (a, a) -> (a, a)
我明白爲什麼下面的函數定義使用模式匹配:它描述了輸入數據應符合的模式。 addVectors (x1, y1) (x2, y2) = (x1
def listMatch(list:List[Int]): Unit = list match {
case a @ ((31 :: tail) :+ 4) => println(tail)
}
listMatch(List(31,1,2,3,4))
當我運行上面的結果是「列表(1,2,3)」。 所以我的問題是tail函數調用在「println(tail)」語句中引用的位置?