のえら

技術備忘とかメモとか.間違いはつっこんでいただきたい所存.

scalaのメモ

2012年に勉強したやつ出てきたからまとめておく

Map#filterKeys
keyに対してフィルタをかける
val m = Map(1 -> 2, 3 -> 4, 5 -> 6)
m.filterKeys(_ > 2)
res0: Map(3 ->4, 5 -> 6)

Map#mapValues
valueに対して処理を行う
val m = Map(1 -> 2, 3 -> 4, 5 -> 6)
m.mapValues(_ + 2)
res0: Map(1 -> 4, 3 -> 6, 5 -> 8)

Map#isDefinedAt(key)
keyが存在しているか調べる

Iterable#grouped(int)
リストの値を指定した数ごとでまとめる

以下コンソールでなんか試していたであろうメモ書き

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

scala> res0.sum
res1: Int = 6

scala> res0.size
res2: Int = 3

scala> res0.length
res3: Int = 3

scala> res0.head
res4: Int = 1

scala> res0.tail
res5: List[Int] = List(2, 3)

scala> res0.sortWith(_ > _)
res8: List[Int] = List(3, 2, 1)

scala> res0.grouped(2)
res10: Iterator[List[Int]] = non-empty iterator

scala> res10.toList
res12: List[List[Int]] = List(List(1, 2), List(3))

scala> val list: List[Int] = List(4, 5, 6, 7)
list: List[Int] = List(4, 5, 6, 7)

scala> list.grouped(2).toList
res16: List[List[Int]] = List(List(4, 5), List(6, 7))

scala> val List(list1, list2) = list.grouped(2).toList
list1: List[Int] = List(4, 5)
list2: List[Int] = List(6, 7)

scala> res0.take(2)
res17: List[Int] = List(1, 2)

scala> res0.contains(2)
res18: Boolean = true

scala> res0.reverseMap(println(_))
3
2
1

scala> res6.filter(_ >= 2)
res8: List[Int] = List(2, 3)