aboutsummaryrefslogtreecommitdiff
path: root/tests/run/slices.scala
blob: 1ffedaea0795fc898060a56bc37b25189eab4f21 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import scala.language.postfixOps

object Test extends dotty.runtime.LegacyApp {

  // lists
  println(List(1, 2, 3, 4).slice(1, 2))
  println(List(1, 2, 3, 4).slice(2, 1))
  println(List(1, 2, 3, 4).slice(-1, 1))
  println(List(1, 2, 3, 4).slice(1, -1))
  println(List(1, 2, 3, 4).slice(-2, 2))
  println

  println(List(1, 2, 3, 4) take 3)
  println(List(1, 2, 3) take 3)
  println(List(1, 2) take 3)
  println((List(): List[Int]) take 3)
  println(List[Nothing]() take 3)
  println

  println(List(1, 2, 3, 4) drop 3)
  println(List(1, 2, 3) drop 3)
  println(List(1, 2) drop 3)
  println((List(): List[Int]) drop 3)
  println(List[Nothing]() drop 3)
  println

  // arrays
  println(Array(1, 2, 3, 4).slice(1, 2).deep)
  println(Array(1, 2, 3, 4).slice(2, 1).deep)
  println(Array(1, 2, 3, 4).slice(-1, 1).deep)
  println(Array(1, 2, 3, 4).slice(1, -1).deep)
  println(Array(1, 2, 3, 4).slice(-2, 2).deep)
  println

  println(Array(1, 2, 3, 4) take 3 deep)
  println(Array(1, 2, 3) take 3 deep)
  println(Array(1, 2) take 3 deep)
  println((Array(): Array[Int]) take 3 deep)
//  println(Array[Nothing]() take 3)  // contrib #757
  println

  println(Array(1, 2, 3, 4) drop 3 deep)
  println(Array(1, 2, 3) drop 3 deep)
  println(Array(1, 2) drop 3 deep)
  println((Array(): Array[Int]) drop 3 deep)
//  println(Array[Nothing]() drop 3)
  println
}