List の使い方(続き3)
リスト先頭から指定要素数の後のリストを得る。( drop )
scala> val foo = List(4, 5, 6, 7) foo: List[Int] = List(4, 5, 6, 7) scala> foo.drop(2) res0: List[Int] = List(6, 7) scala> foo.drop(1) res1: List[Int] = List(5, 6, 7) scala> foo.drop(3) res2: List[Int] = List(7)
リスト先頭から指定要素数のリストを得る。( take )
scala> foo.take(2) res3: List[Int] = List(4, 5) scala> foo.take(1) res4: List[Int] = List(4) scala> foo.take(3) res5: List[Int] = List(4, 5, 6)
指定インデックスの位置でリストを分割して、分割したペアのリストを得る。
scala> foo.splitAt(2) res6: (List[Int], List[Int]) = (List(4, 5),List(6, 7))
このリストのペアの入れ物の型はタプル(tuple) Tuple2
- Scalaでは、オブジェクト.メソッド(1つの引数) の形式の場合は . ( ) を省略できる。
scala> val (a, b) = foo splitAt 3 a: List[Int] = List(4, 5, 6) b: List[Int] = List(7) scala> a res7: List[Int] = List(4, 5, 6)
リストのおきまりの文字列表現
scala> foo.toString res8: String = List(4, 5, 6, 7)
リストで独自に文字列表現をしたいときは mkString を使う。
- mkStringは前後の括弧部分とセパレータの引数3つのメソッドとセパレータだけを指定するメソッドの2種類ある。
scala> foo.mkString("{", "-", "}") res9: String = {4-5-6-7} scala> foo mkString "" res10: String = 4567 scala> foo mkString "/" res11: String = 4/5/6/7 scala> foo.mkString("[", "/", "]") res12: String = [4/5/6/7]