ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
Kotlinにおいて、引数にとる関数のスコープを変更するための関数。
結果を変数に代入してそれを使い回すよりも、結果を例えばスコープ関数letを用いit等で参照する方が、{}で影響範囲が明確になるという利点がある。
影響範囲を明確化することは、意図しない箇所での誤った参照、代入や書き換えといったバグを避けることもなり、開発効率ならびに後からソースを見た時の見やすさ向上にも大きく寄与する。
Kotlin 1.0で4種類、Kotlin 1.1からalsoが追加され5種類となっている。
使い方は自由であるが、その主たる目的で大きく2種類に分けられ、スコープ内で対象オブジェクトがどう設定されるかでも2種類に分けられる。
スコープ関数の戻り値を使う場合は、元のインスタンスか任意の型かで選択することになる。
また、元のオブジェクトをthisで参照するかitで参照するかも都合に合わせて選択できる。
元の参照がthisになるものを使う場合、thisは省略可能であるが、スコープの内外でthisの意味が変わってしまうことに注意が必要である。
元の参照がitになるものを使う場合、itは省略できないが、スコープの内外でthisの意味が変わらないという利点がある。
元の参照がitになるタイプのスコープ関数(alsoおよびlet)は、{} 内にラムダ式を記述することで、itに別名を与えることができる。
たとえば obj?.let { hoge -> ...} のように書くことで、it の代わりの変数名を指定することができる(この例の場合はhoge)。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます