Kotlinには、コードを書いた瞬間に実行結果を確認できる REPL(Read–Eval–Print Loop) という対話型実行環境があります。
REPLはKotlinの学習効率を大きく高めるだけでなく、実務におけるロジック検証やAPI挙動の確認にも非常に有効です。
本記事では、Kotlin REPLについて 基本概念・起動方法・実践例・メリット・制限事項・.ktsとの違い まで、現在の公式情報に基づいて正確に解説します。
Kotlin REPLの基本概念
REPLとは、以下4つの処理を繰り返す実行モデルです。
- Read:入力されたコードを読み取る
- Eval:そのコードを評価(コンパイル・実行)する
- Print:評価結果を表示する
- Loop:次の入力を待つ
KotlinのREPLでは、1行ずつコードを評価しつつ、変数や関数などの状態をセッション内で保持します。
そのため、通常のKotlinプログラムのように main 関数を書く必要はなく、小さなコード片を即座に試すことができます。
Kotlin REPLでできること・できないこと
できること
Kotlin REPLでは、ほぼすべての「純Kotlinロジック」を扱えます。
- 変数・定数の定義
- 関数の定義と呼び出し
- 条件分岐・ループ
- コレクション(List / Set / Map)の操作
- ラムダ式・高階関数
- 標準ライブラリの挙動確認
- 文字列処理・正規表現・計算ロジックの検証
特に コレクション操作やラムダ式の挙動を即確認できる点 は、Kotlin学習において非常に大きなメリットです。
向いていないこと(制限事項)
一方で、REPLには用途上の限界もあります。
- 大規模なクラス設計やアーキテクチャ検討
- Android UIやViewの動作確認
- 端末・OS・UIに依存する処理の検証
- 複雑なGradle依存関係を前提とした実行
REPLはあくまで 「対話的な実験場」 であり、フルアプリケーションの代替ではありません。
Kotlin REPLの起動方法(環境別)
コマンドライン(公式に案内されている方法)
コマンドラインでKotlin REPLを起動する場合、公式ドキュメントでは以下の形式が案内されています。
kotlinc -Xrepl
起動すると、対話型シェルが表示され、Kotlinコードを1行ずつ入力できます。
>>> val x = 10
>>> x * 2
res0: Int = 20
res0のような名前は、REPLが自動的に生成する評価結果の変数です:helpでREPLコマンド一覧を確認できます:quitで終了します
※環境やKotlinの配布形態によっては kotlinc や kotlinc-jvm で対話モードに入るケースもありますが、一般的な説明としては -Xrepl を明示するのが最も安全です。
IntelliJ IDEA(最も実用的)
実務や学習で最も使いやすいのは IntelliJ IDEAのKotlin REPL です。
- メニューから対話的に起動できる
- シンタックスハイライト・補完あり
- エラー表示が分かりやすい
- JVM上のKotlinコード検証に最適
IDEのバージョンによって表記や導線が多少変わることはありますが、「Kotlinを対話的に実行する環境」 は継続して提供されています。
Kotlin Playground(ブラウザ)
ブラウザ上でコードを書いてすぐ実行できる公式環境もあります。
- インストール不要
- 学習・サンプル検証向け
- 本格的なREPLというより「即時実行環境」に近い
Kotlinに初めて触れる場合の入口として非常に有用です。
Kotlin REPLの基本的な使い方(例)
変数と式の評価
>>> val a = 5
>>> val b = 7
>>> a + b
res0: Int = 12
評価結果は res0, res1 のような名前で自動保存され、後続の処理で利用できます。
関数定義
>>> fun square(x: Int) = x * x
>>> square(4)
res1: Int = 16
REPL内で定義した関数は、セッションが続く限り保持されます。
コレクション操作
>>> val numbers = listOf(1, 2, 3, 4, 5)
>>> numbers.filter { it % 2 == 0 }.map { it * 10 }
res2: List<Int> = [20, 40]
ラムダやコレクションAPIの理解に非常に向いています。
Kotlin REPLを使うメリット
学習効率が非常に高い
main関数不要- ビルド不要
- 書いた瞬間に結果が分かる
Kotlin初心者にとって「なぜこの結果になるのか」を即確認できる環境は、理解速度を大きく高めます。
実務でのロジック検証が速い
- データ変換処理
- 条件分岐の確認
- 標準APIの挙動確認
「いきなり本番コードを書く前にREPLで試す」という習慣は、バグの予防にもつながります。
Kotlinらしい書き方が自然に身につく
REPLを使っていると、以下のようなKotlin的思考が自然と定着します。
- 式指向の書き方
- イミュータブルな設計
- 高階関数の活用
- スコープ関数の理解
REPL使用時の注意点
- セッションを終了すると状態は失われる
- 複雑な定義で状態が壊れたら再起動が無難
- 依存関係を多用する用途には向かない
REPLは「一時的な検証環境」と割り切って使うのが重要です。
REPLとKotlinスクリプト(.kts)の違い
| 項目 | REPL | Kotlin Script(.kts) |
|---|---|---|
| 実行単位 | 1行ずつ | ファイル単位 |
| 状態 | セッション内で保持 | 実行ごとに初期化 |
| 再利用性 | 低い | 高い |
| 向いている用途 | 試行錯誤 | 自動処理・簡易ツール |
考え方としては
- 思考・検証 → REPL
- 再利用・自動化 → .kts
という使い分けが適切です。
まとめ
KotlinのREPLは、
- Kotlinの学習を加速し
- ロジック検証のスピードを上げ
- Kotlinらしい設計感覚を養う
ための非常に強力なツールです。
特にIntelliJ IDEAと組み合わせることで、「まずREPLで試す → 納得してから実装する」という質の高い開発フローが自然に身につきます。
以上、KotlinのREPLについてでした。
最後までお読みいただき、ありがとうございました。










