cons, car, cdr

リストのcons, car, cdr。

scala> 1 :: List(2, 3)     // cons
res0: List[Int] = List(1, 2, 3)

scala> List(1, 2, 3).head  // car
res1: Int = 1

scala> List(1, 2, 3).tail  // cdr
res2: List[Int] = List(2, 3)

もちろん、配列は不可能。

scala> 1 :: Array(2, 3)
<console>:5: error: value :: is not a member of Array[Int]
       1 :: Array(2, 3)
         ^

scala> Array(1, 2, 3).head
<console>:5: error: value head is not a member of Array[Int]
       Array(1, 2, 3).head
                      ^

scala> Array(1, 2, 3).tail
<console>:5: error: value tail is not a member of Array[Int]
       Array(1, 2, 3).tail
                      ^

同様な処理は配列だとどうやるのだろう?carは、インデクシングでとりあえず簡単かな。