kdnakt blog

hello there.

会社でKotlin dojo(第35回)を開催した

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

 

前回の様子はコチラ↓

kdnakt.hatenablog.com

 

 

[第35回の様子]

2020/10/14に第35回を開催した。

 

参加メンバーは自分をいれて5名。

前回1人の時間が長かったので、人が集まるかどうかちょっと不安だったが、今回は開始時間にたくさん集まってくれてよかった。

 

勉強会本編の内容としては、練習問題集Kotlin Koansの第5章 Buildersの残り2問を終わらせた。進捗は98%となり、前回比+5%。長かったKoansも、残りあと1問。次から何やろう……。

 

[学んだことや疑問点]

  • The function apply
    • 前回まで学んでいた拡張関数によるbuilderは、本来は組み込みのapply関数を用いて書くことができるとの説明が。前回までの苦労は一体……
// 前回までの例
fun buildString(build: StringBuilder.() -> Unit): String {
    val stringBuilder = StringBuilder()
    stringBuilder.build()
    return stringBuilder.toString()
}

val s = buildString {
    this.append("Numbers: ")
    for (i in 1..10) {
        // 'this' can be omitted
        append(i)
    }
}
// applyを使った実装方法
val s = StringBuilder().apply {
    append("Numbers: ")
    for (i in 1..10) {
        append(i)
    }
}.toString()
  • Builders: how it works
    • この問題は指定されたKotlinのコードを書くのではなく、書かれているコードを読んで択一式の問題4つに回答するタイプだった。珍しい
    • 1問目から3問目までは特に問題なく理解できた
    • 4問目がちょっと難しい……thisの解釈を問う問題。
tr (color = "yellow") {
    this.td { // これはthis@tr
        text("Product")
    }
    td {
        text("Popularity")
    }
}
    • 第29回で出てきたラベル付きreturnと近い話だ、という指摘が参加者からあった。たしかにそんなのあったなー。もう忘れてた。復習しなきゃ……。

 

[まとめ]

今回も引き続き練習問題集Kotlin Koansを進めた。

今回は2回「やったー!」を実践した。1人じゃなくて良かった……。

後少しでKoansも終わりなので楽しく学んでいくぞ!!