【发布时间】:2010-12-25 14:55:23
【问题描述】:
我正在研究一些 scala 代码,发现这种方法让我感到困惑。在 match 语句中,sublist@ 构造是什么?它包含什么样的价值?当我打印它时,它与tail 没有差异,但如果我用尾巴替换它,该函数将返回差异结果。有人可以解释它是什么并指出我正确的资源来理解它吗? (我知道我可以在 google 中搜索,但不知道要查找什么......)
def flatMapSublists[A, B](ls: List[A])(f: (List[A]) => List[B]): List[B] =
ls match {
case Nil => Nil
case sublist@(_ :: tail) => f(sublist) ::: flatMapSublists(tail)(f)
}
【问题讨论】:
-
@通常用于注释中,但我在这里看不到类似的东西......
标签: scala functional-programming