0
0

More than 1 year has passed since last update.

はじめに

スコープ関数を使うときは以下の記事を参考にさせてもらっていますが、
Kotlin スコープ関数 用途まとめ

逆に読む時になると、「どう読んだらいいんだ?」と
悩んでしまうことがあるので簡単にまとめておきます


それぞれオブジェクトのことをレシーバーと呼びます

let

結果 = レシーバー.let {}

となった時に{}内の処理の結果を返す

run

結果 = レシーバー.run {}

{}内の処理を行い、最後の処理を返す

結果 = レシーバー?.run {}

レシーバーがnullじゃなければ{}内の処理を行う

結果 = レシーバー?:run {}

レシーバーがnullなら{}内の処理を行う

apply

結果 = レシーバー.apply {}

となった時にレシーバーに対して{}内の処理を行い、その後レシーバーを返す

also

結果 = レシーバー.also {}

となった時に{}内の処理の後、レシーバー自身を返す
レシーバーに{}内の処理をまとめて行うことができる


それぞれ

結果 = レシーバー?.スコープ関数 {}

とすることで、レシーバーがnullでないことを確認できる

最後に

スコープ関数の使い所や、読み方など 十分に理解が及んでいないと混乱することになるので、
この記事を見て落ち着いてコードを読めるようにと思って書きましたが、
記事にすることで自分の中の理解も深まったと思うのでよかったと思うと共に
kotlin初心者の方などの参考にしていただければ嬉しいです

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0