KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
In Scala, I can make a caseclass, case class Foo(x:Int) , and then put it in a list like so: List(Foo(42)) Now, nothing strange here. The following is strange to me. The operator :: is a function on a list, right? With any function with one argument in Scala, I can call it with infix notation. An example is 1 + 2 is a function (+) on the object Int . The class Foo I just defined does not have the :: operator, so how is the following possible? Foo(40) :: List(Foo(2)) In Scala 2.8 RC1, I get the following output from the interactive prompt: scala> case class Foo(x:Int) defined class Foo scala> Foo(40) :: List(Foo(2)) res2: List[Foo] = List(Foo(40), Foo(2)) I can go on and use it, but what is the explanation?
Tags (comma-separated)
Save Edits
Cancel