0
Help us understand the problem. What are the problem?
Organization

スコープ関数の読み方について

はじめに

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

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


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

let

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

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

run

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

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

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

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

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

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

apply

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

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

also

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

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


それぞれ

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

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

最後に

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

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?