【Scala】コップ本の自分用メモ
Scala&Play Frameworkでのプロジェクトが始まることになるので、必読書のコップ本を読んでいます。
リストの重要なメソッド集です。
// 空のリスト // var list1 = Nil でも可 var list1 = List() // 三個の値を持つ新しいList[String]を作る var list2 = List("Messi", "CR7", "Neymar") // 三個の値を持つ新しいList[String]を作る var list3 = "Messi" :: "CR7" :: "Neymar" :: Nil // 2個のリストを連結し、新しいリストを作成する var list4 = List("Messi", "Neymar") ::: List("CR7", "Bale") // list3の添字2の要素を返す(Neymarが返される) var list5 = list3(2) // list3の中で、長さが3の要素の数が返される(1が返される) var length4 = list3.count(s => s.length == 3) // 先頭の2要素を取り除いたlist3を返す list3.drop(2) // 末尾の2要素を取り除いたlist4を返す list4.dropRight(2) // list3の中に値が”Neymar”があるかどうかを返す。trueが返される var boolean1 = list3.exists(s => s == "Neymar") // list3に含まれる長さが4のすべての要素を返す var list6 = list3.filter(s => s.length == 4) // list3のすべての要素について、末尾の文字が”i”になっているかどうかを返す var list7 = list3.forall(s => s.endsWith("i")) // リストの先頭要素を返す list3.head // リストの最後の要素を返す list3.last // リストから末尾の要素を除いた残りのリストを返す var list8 = list3.init // リストの各要素のXを追加したものから構成されるリストを返す var list9 = list3.map(s => s + "X") // リストの要素を並べた文字列を返す var str: String = list3.mkString(" , ") // リストに含まれる長さが4以外のすべての要素を順に並べたリストを返す var list10 = list9.filterNot(s => s.length == 4) // リストのすべての要素を逆に並べたリスト var list11 = list10.reverse // リストのすべての要素から、先頭文字小文字にしてアルファベット順を決めて、その順序にしたがったリストを作って返す var list12 = list11.sortWith((s,t) => s.charAt(0).toLower < t.charAt(0).toLower) // リストから先頭要素を取り除いたリストを返す var list13 = list12.tail