[原创] Scala源码语法看晕了.求解答

ouchxp 2010-12-10
代码1
  def ::[B >: A] (x: B): List[B] =
    new scala.collection.immutable.::(x, this)

代码2
val ot = new ::(1, new ::(2, new ::(3, Nil)));

求高(河蟹)人解答. 这里面的:: 为什么可以直接new ? 另外代码1里是调用了哪个函数?
itang 2010-12-10
:: 在这里是一个类, 其定义是:
final case class ::[B](private var hd: B, private[scala] var tl: List[B]) extends List[B]
ouchxp 2010-12-11
itang 写道
:: 在这里是一个类, 其定义是:
final case class ::[B](private var hd: B, private[scala] var tl: List[B]) extends List[B]

学习了....还真是没注意到.还以为是什么操作符
Global site tag (gtag.js) - Google Analytics