今週は第32回を開催しました。
前回の様子はコチラ↓
[第32回の様子]
2020/09/23に第32回を開催した。
参加メンバーは自分をいれて3名。この3人はほぼ固定。月末の締め切りが近いためか、今回は参加者が少なめだった。
今回は久しぶりに私がドライバーを担当した。
勉強会本編の内容としては、練習問題集Kotlin Koansの第4章 Propertiesの最後の問題、Delegates how it works
を解いた。進捗は88%となり、前回比+3%。
いよいよ終わりが見えてきたな……。
[学んだことや疑問点]
- Delegates how it works
- ミリ秒を示す
Long
型と年月日を保持するMyDate
型の変換をDelegatesを利用して行う問題 - 前回の勉強会で学んだ
!!
を利用してなんとかテストはパスした - しかし
!!
を利用してNullableな型から強制的にNon-Nullな値を取り出すというのはやはり微妙な気がする…… - Nullable + !!
- あるメンバーの発案でNullableな変数に
null
が入っているときに、!!
で変数にアクセスしたらどうなるのか、という疑問を確認することに - 試したのは以下のコード
fun main() { var myvar : Int? = null println("myvar") println(myvar) println(myvar!!.toString()) // 実行前の想定:ぬるぽ的な何かが発生する? }
- Kotlin PlaygroundやPaiza.ioを試したがなぜか勉強会の時間中はサーバーエラーが発生したりして動かなかった……
- 勉強会中に、こちらのTry Kotlinというサイト(Kotlin=1.3.72)で試したところ、
!!.toString()
の箇所でkotlin.KotlinNullPointerException
が発生した - 勉強会後にPaiza.io(Kotlin=1.4.0)で試したところ、
!!.toString()
の箇所でjava.lang.NullPointerException
が発生した - この挙動の違いはなんだろうと思ったら、Kotlin 1.4.0のリリースノートに説明があった。Nullチェックの最適化のために変更されているらしい。なるほど。
What's New in Kotlin 1.4 - Kotlin Programming Language
[まとめ]
今回も引き続き練習問題集Kotlin Koansを進めた。
今回は1回だけだけど、しっかり「やったー!」を実践できた!
前回新しく学んだことをちゃんと使いつつ、最新のKotlinをキャッチアップできた。
来週は第5章に突入するぞ!!