我目前在做斯卡拉过程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)”语句中引用的位置?