KotlinのREPLについて

採用はこちら

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の配布形態によっては kotlinckotlinc-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)の違い

項目REPLKotlin Script(.kts)
実行単位1行ずつファイル単位
状態セッション内で保持実行ごとに初期化
再利用性低い高い
向いている用途試行錯誤自動処理・簡易ツール

考え方としては

  • 思考・検証 → REPL
  • 再利用・自動化 → .kts

という使い分けが適切です。

まとめ

KotlinのREPLは、

  • Kotlinの学習を加速し
  • ロジック検証のスピードを上げ
  • Kotlinらしい設計感覚を養う

ための非常に強力なツールです。

特にIntelliJ IDEAと組み合わせることで、「まずREPLで試す → 納得してから実装する」という質の高い開発フローが自然に身につきます。

以上、KotlinのREPLについてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次