[原创] 谁能解释下这个 x :: dup(x, n - 1) ?

mesopotamia 2015-07-21
object Main extends App{
  def dup[T](x: T, n: Int): List[T] =
    if (n == 0)
      Nil
    else
      x :: dup(x, n - 1)
  println(dup[Int](3, 4))
  println(dup("three", 3))
}


开始学scala第3天,实在不明白这里的::是什么,是List的一个方法么?
crysoul 2015-07-21
::是连接操作符,可以认为是List的一个方法,能简单理解为将元素add进List内.
Taoo 2016-12-11
:: 是List的一个方法,
因为这个方法是冒号结尾,所以是右结合;
x :: Nil
世界上等价于 Nil.::(x)
Global site tag (gtag.js) - Google Analytics