相关疑难解决方法(0)

Scala的'::'运算符,它是如何工作的?

在Scala中,我可以创建一个caseclass,case class Foo(x:Int)然后将它放在一个列表中,如下所示:

List(Foo(42))
Run Code Online (Sandbox Code Playgroud)

现在,这里没什么奇怪的.以下对我来说很奇怪.运算符::是列表中的函数,对吧?对于Scala中有一个参数的任何函数,我可以用中缀表示法调用它.一个例子是对象的1 + 2一个函数.我刚刚定义的类没有运算符,那么以下可能如何?(+)IntFoo::

Foo(40) :: List(Foo(2))
Run Code Online (Sandbox Code Playgroud)

在Scala 2.8 RC1中,我从交互式提示中获得以下输出:

scala> case class Foo(x:Int)
defined class Foo

scala> Foo(40) :: List(Foo(2))
res2: List[Foo] = List(Foo(40), Foo(2))
Run Code Online (Sandbox Code Playgroud)

我可以继续使用它,但解释是什么?

scala list operator-keyword

54
推荐指数
4
解决办法
2万
查看次数

标签 统计

list ×1

operator-keyword ×1

scala ×1