標準ライブラリ関数も
Kotlin では、オブジェクトをパラメータとして Lambda 式に渡し、オブジェクト自体を返す標準ライブラリ関数もあります。構文は次のとおりです。
fun <T> T.also(block: (T) -> Unit): T {
block(this)
return this
}
また、を使用するとコードをより簡潔にすることができ、同じオブジェクトに対して複数の操作を必要とする一連のシナリオでよく使用されます。例えば:
val name = "Alice"
val length = name.also {
println("The length of the name is ${
it.length}")
}.length
上記のコードは、まず文字列の長さを出力し、それを長さ変数に割り当てます。つまり、中間変数を使用せずに、関数または操作を呼び出す前に、オブジェクトに対して他の処理または操作を実行するためにも使用できます。
概要: also の意味は、オブジェクトに対して追加の操作を実行し、オブジェクト自体を返すことです。