今週は第13回を開催しました。
前回の様子はコチラ↓
[第13回の様子]
2020/05/13に第13回を開催した。
参加メンバーは自分を含めて6人。引き続き、みんな在宅勤務中なので、それぞれオンラインミーティングルームに参加する形式で実施した。今回も家族の乱入があり、ちょっと和んだ。
直前まで仕事がばたばたしていたのと、セットアップが面倒だったので、VRでの参加は実施せず。
内容としては、Learn Kotlin by Exampleの第5章 Collectionsのcount
、associtateBy, groupBy
、partition
の3節を進めた。
今週も途中までLearn Kotlin by Exampleのサイト上でコードが実行できていたのだが、最後のpartitionの動作確認をしようとしたところで動かなくなってしまった。残念。
[学んだことや疑問点]
- count
- そのまま実行すると
list
の件数を返す - 関数を渡してフィルタリングした結果の件数を返すこともできる
- 久しぶり(3週間ぶり)のKotlinだったので、
println("$hoge")
で変数hoge
を出力できるKotlin便利だなーと思った - associateBy, groupBy
data class Person(val name: String, val city: String) val people = listOf( Person("John", "Boston"), Person("Taro", "Tokyo"), Person("Jiro", "Tokyo")) val groupBy = people.groupBy(Person::city, Person::name) println("$groupBy") // {Boston=[John], Tokyo=[Taro, Jiro]} val associateBy = people.associateBy(Person::city, Person::name) println("$associateBy") // {Boston=John, Tokyo=Jiro}
- partition
- 関数を渡すと、条件に合致するlistと合致しないlistの
Pair
を返してくれる Pair
はprintln("${pair.first}, ${pair.second}"
のようにしてアクセスできる- JavaScriptの分割代入っぽい感じで、
val (positives, negatives) = numbers.partition {it > 0}
のように結果を得ることも可能
[まとめ]
今回も、最後に「やったー!」を実施した。ゴールデンウィークであいだが空いたので、3週間ぶり。やったー!
次回もCollectionの続きをやるぞ!