runを使ってスコープ内で処理を簡潔に

Kotlin
記事内に広告が含まれる場合があります

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を使うメリット

  1. スコープを限定しつつオブジェクトのプロパティを操作できる
  2. nullチェックをシンプルに記述できる
  3. 計算処理やオブジェクト操作を整理しやすい

runをうまく活用することで、Kotlinのコードをより簡潔で読みやすくすることができます。ぜひ試してみてください!

タイトルとURLをコピーしました