Kotlinには、オブジェクトのスコープ内で処理をまとめて行うための run
関数 があります。run
を使うことで、オブジェクトのプロパティを操作しながら、その結果を返すコードを簡潔に記述できます。
run関数の基本的な使い方
run
は、オブジェクトのスコープ内で処理を実行し、最後の式の値を返します。
Kotlin
val result = "Kotlin".run {
println("処理対象: $this")
length
}
println(result) // 出力: 6
このように、run
のスコープ内ではthis
を使ってオブジェクトを参照でき、最終的な結果が返されます。
runの活用例
1. オブジェクトの初期化と処理の実行
Kotlin
data class User(var name: String, var age: Int)
val user = User("佐藤", 30).run {
println("ユーザー情報: $this")
name = "田中"
this
}
println(user) // 出力: User(name=田中, age=30)
オブジェクトを作成した後に、そのままプロパティを更新しつつログを出力することができます。
2. nullチェックと処理の簡素化
Kotlin
val name: String? = "Kotlin"
val length = name?.run {
println("名前の長さを計算: $this")
length
} ?: "名前がありません"
println(length) // 出力: 6
run
を使うことで、nullチェックを簡潔に行いながら値を処理できます。
3. 複雑な計算をスコープ内で整理
Kotlin
val priceWithTax = 1000.run {
val tax = this * 0.1
this + tax
}
println(priceWithTax) // 出力: 1100.0
計算処理をrun
のスコープ内にまとめることで、コードの可読性が向上します。
runを使うメリット
- スコープを限定しつつオブジェクトのプロパティを操作できる
- nullチェックをシンプルに記述できる
- 計算処理やオブジェクト操作を整理しやすい
run
をうまく活用することで、Kotlinのコードをより簡潔で読みやすくすることができます。ぜひ試してみてください!