以下の内容はhttps://kdnakt.hatenablog.com/entry/2020/05/21/080000より取得しました。


会社でKotlin勉強会(第14回)を開催した

今週は第14回を開催しました。

 

前回の様子はコチラ↓

kdnakt.hatenablog.com

 

 

[第14回の様子]

2020/05/20に第14回を開催した。

 

参加メンバーは自分を含めて5人。引き続き、みんな在宅勤務中なので、それぞれオンラインミーティングルームに参加する形式で、30分間実施した。仕事が忙しい時期なのか、参加者がやや少なめで、前回から継続して参加しているのは2名のみと入れ替わりが激しい。

 

今回はやや余裕があったので、久々にVR参加*1。パペ文字は「やったー」もできるので優秀。

f:id:kidani_a:20200521010719p:plain

 

勉強会本編の内容としては、Learn Kotlin by Exampleの第5章 Collectionsのpartition(参加していなかったメンバーが多かったのと、前回はサイトが動作しなかったので再チャレンジ)、flatMapmin, maxの3節を進めた。

 

今週は最後までLearn Kotlin by Exampleのサイト上でコードが実行できてよかった。

 

[学んだことや疑問点]

  • partition
    • 基本は第13回で確認したとおり
    • 判定条件がすべてtrueになる場合を試したら、ちゃんと空のlistが得られた
val numbers = listOf(1, -2, 3, -4, 5, -6)
println(numbers.partition { it > -10 })
// ([1, -2, 3, -4, 5, -6], [])
  • flatMap
    • JavaScriptとかでみたことあるやつ
    • 名前の通り階層をフラットにしたlistを作れる
    • 個人的にはあまり使う機会がない、という話をしたら、関数型の頭になっていないからではないか、と指摘された。なるほど。
  • min, max
    • listの最小値、最大値を返すメソッド
    • listが空の場合にはnullが返る
    • stringのlistでも動いた。Unicode順だろうか。
val chars = listOf("a", "b", "c")
println("Chars: $chars, min = ${chars.min()} max = ${chars.max()}")
// Chars: [a, b, c], min = a max = c
    • listのlistで試したらエラーが出た。Comparableインターフェースを実装する必要があるらしい。なるほど。
val numbers = listOf(listOf(1), listOf(2), listOf(3))
println("Numbers: $numbers, min = ${numbers.min()} max = ${numbers.max()}")
// None of the following functions can be called with the arguments supplied: public fun> Iterable.min(): ??? defined in kotlin.collections public fun Iterable.min(): Double? defined in kotlin.collections public fun Iterable.min(): Float? defined in kotlin.collections

 

[まとめ]

今回は、各節の最後に「やったー!」を実施できた。やったー!

次回もCollectionの続きをやるぞ!

*1:自分以外にも美少女1名と狼1名の計3名がVR参加なので、VR参加率60%だった。




以上の内容はhttps://kdnakt.hatenablog.com/entry/2020/05/21/080000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14