今週は第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章に突入するぞ!!