カテゴリ: Kotlin 更新日: 2026/03/13

Kotlinのrunの使い方!スコープ内で処理をまとめるテクニック

Kotlinのrunの使い方!スコープ内で処理をまとめるテクニック
Kotlinのrunの使い方!スコープ内で処理をまとめるテクニック

先生と生徒の会話形式で理解しよう

生徒

「Kotlinで一つの変数を使って、いろいろな処理をまとめて書きたいときってどうすればいいですか?」

先生

「そんなときに便利なのがrunというスコープ関数です。同じオブジェクトを使った処理をひとまとめにできて、コードがすっきり読みやすくなりますよ。」

生徒

「スコープ関数ってなんですか?難しそう…」

先生

「安心してください。初心者でもわかるように、runの使い方を基本から丁寧に説明していきますね!」

1. Kotlinのrunとは?

1. Kotlinのrunとは?
1. Kotlinのrunとは?

Kotlinのrunは、スコープ関数という機能の一つで、変数やオブジェクトの中で複数の処理をまとめて実行できる便利なツールです。

「スコープ関数」とは、特定の変数やオブジェクトを対象にして、その中で一連の処理を簡潔にまとめられる関数です。Kotlinでは、このような関数を使うことで、コードの見通しが良くなり、冗長な記述を避けることができます。

runは、特に「同じオブジェクトに対して連続して処理を行いたい」ときに有効です。例えば、オブジェクトの状態を変更するだけでなく、その結果をすぐに利用したい場合に使います。

実際に使うときのイメージとしては、「ひとつの箱(オブジェクト)の中に複数のアイテム(処理)を入れていく」ような感覚です。すべての処理が一箇所にまとまるので、後で読み返すときにも理解しやすく、保守性の高いコードになります。

例えば、文字列の操作や数値計算など、同じデータに対して複数の処理を順番に行う場合に非常に便利です。

2. runの基本的な使い方

2. runの基本的な使い方
2. runの基本的な使い方

それでは、runの基本的な使い方を見ていきましょう。runは、Kotlinの標準ライブラリにある関数の1つで、特にオブジェクトに対して処理を行いたい時に便利です。以下のように使います。


fun main() {
    val result = "こんにちは".run {
        println(this)  // "this"は文字列そのもの
        this.length    // このブロック内の戻り値は文字列の長さ
    }

    println("文字数: $result")  // "文字数: 5" と表示される
}

このコードでは、文字列「こんにちは」に対してrunを使っています。runは、指定したオブジェクト(この場合は「こんにちは」という文字列)に対して処理を行い、そのブロック内で計算した結果を返す関数です。

thisはブロック内で使える特別なキーワードで、ここでは「自分自身(この場合、文字列「こんにちは」)」を指します。this.lengthでは、文字列の長さを取得しています。

runの結果として、文字列の長さ(この場合は5)が返され、それがresultに代入されます。最後に、resultの値を表示して、「文字数: 5」と出力されます。

このように、runを使うことで、コードの可読性が向上し、オブジェクトの処理を簡潔に記述できるようになります。特に、複数の処理を行いたい場合や、結果を即座に利用したい場合に便利です。

3. runを使うと何が便利なの?

3. runを使うと何が便利なの?
3. runを使うと何が便利なの?

runを使うメリットは、処理をグループ化できる点です。

例えば、次のようなコードがあるとします。


val text = "Kotlin"
val upper = text.toUpperCase()
val length = text.length
val message = "文字数は $length"

これをrunを使ってひとつにまとめると、以下のように書けます。


val message = "Kotlin".run {
    val upper = this.uppercase()
    val length = this.length
    "文字数は $length"
}

このように、一つの文字列に対する処理をrunの中にまとめて書けるので、読みやすく整理されたコードになります。

4. runの戻り値を活用しよう

4. runの戻り値を活用しよう
4. runの戻り値を活用しよう

runは、ブロックの最後の値を「戻り値」として返します。

たとえば、次のように計算処理にも使えます。


val result = run {
    val a = 10
    val b = 20
    a + b
}
println(result)

この例では、a + bの結果(30)がrunから返され、resultに入ります。

わざわざ変数を定義する必要がなく、必要な処理だけをrunの中に書いて済ませられるのが便利なポイントです。

5. runとapplyとの違いは?

5. runとapplyとの違いは?
5. runとapplyとの違いは?

runapplyは似ていますが、目的が少し違います。

  • applyは「オブジェクトの設定・初期化」に使う
  • runは「処理をまとめて、最後に値を返したいとき」に使う

初心者のうちは、applyは「準備」、runは「実行」と覚えると良いでしょう。

6. nullを扱うときにも使えるrun

6. nullを扱うときにも使えるrun
6. nullを扱うときにも使えるrun

Kotlinでは、null(ぬる)=「値が存在しないかもしれない」ものに対して安全に処理をする方法があります。

例えば、以下のような書き方ができます。


val name: String? = "山田"
val result = name?.run {
    "こんにちは、$this さん!"
}
println(result)

namenullでなければ、runの中が実行されます。

これは「null安全呼び出し」といい、Kotlinの大事な機能のひとつです。

7. Kotlin初心者がrunを使うときの注意点

7. Kotlin初心者がrunを使うときの注意点
7. Kotlin初心者がrunを使うときの注意点

runは便利ですが、以下のポイントに注意しましょう。

  • 処理を詰め込みすぎると読みづらくなる
  • 戻り値があるので、何を返すか明確にする
  • 複雑なロジックよりも、シンプルな処理に使うのが効果的

読みやすさと意図の明確さを意識して使えば、コードの質がぐんと上がります。

Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。

基礎からわかるKotlinをAmazonで見る

※ Amazon広告リンク

8. runを使った練習課題をやってみよう

8. runを使った練習課題をやってみよう
8. runを使った練習課題をやってみよう

Kotlinのrunを理解するには、実際に手を動かすのが一番です。

  • 文字列に対してrunで長さや内容をチェックする
  • 複数の数値計算をrunでまとめる
  • nullの可能性がある変数にrunを使って安全に処理する

まずは簡単な例から練習して、少しずつ慣れていきましょう。

関連セミナーのご案内

【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分

「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。

本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。

具体的な体験内容と環境

【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。

【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。

この60分で得られる3つの体験

1. 自分のパソコンが「開発基地」に

プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。

2. プログラミングの「仕組み」がスッキリ

「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。

3. 「読みやすい」から「直せる」へ

Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。

※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。

セミナー画像

Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のwhile的なforループの使い方!条件式ループの基本を解説
New2
Go言語
Go言語プログラムの実行方法まとめ!VSCode・ターミナルでの実行手順を解説
New3
Swift
Swift意味とは?プログラミング言語・金融・鳥の違いを徹底解説
New4
Swift
Swift 戻り値の扱い方と複数戻り値の返し方|初心者でも分かる関数の基本
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.6
Java&Spring記事人気No6
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.7
Java&Spring記事人気No7
Go言語
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.8
Java&Spring記事人気No8
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説