メインコンテンツまでスキップ

コードスニペットの実行

Kotlinのコードは通常、IDE、テキストエディタ、またはその他のツールで作業するプロジェクトに編成されます。 ただし、関数の動作をすばやく確認したり、式の値を見つけたりする場合は、新しいプロジェクトを作成してビルドする必要はありません。 さまざまな環境でKotlinコードをすぐに実行できる、次の3つの便利な方法を確認してください。

IDE: スクラッチファイルとワークシート

IntelliJ IDEAとAndroid Studioは、Kotlinのスクラッチファイルとワークシートをサポートしています。

  • スクラッチファイル(または単に_スクラッチ_)を使用すると、プロジェクトと同じIDEウィンドウでコードのドラフトを作成し、すぐに実行できます。 スクラッチはプロジェクトに関連付けられていません。OS上のIntelliJ IDEAウィンドウからすべてのスクラッチにアクセスして実行できます。

    Kotlinスクラッチを作成するには、File | New | Scratch Fileをクリックし、Kotlinタイプを選択します。

  • _ワークシート_はプロジェクトファイルです。プロジェクトディレクトリに保存され、プロジェクトモジュールに関連付けられています。 ワークシートは、ソフトウェアユニットを実際には作成しないが、教育用資料やデモ資料など、プロジェクトにまとめて保存する必要があるコードの作成に役立ちます。

    プロジェクトディレクトリにKotlinワークシートを作成するには、プロジェクトツリーでディレクトリを右クリックし、New | Kotlin Class/File | Kotlin Worksheetを選択します。

    Kotlinワークシートは、K2 modeではサポートされていません。同様の機能を提供する代替手段に取り組んでいます。

構文の強調表示、自動補完、およびその他のIntelliJ IDEAコード編集機能は、スクラッチとワークシートでサポートされています。main()関数を宣言する必要はありません。記述するすべてのコードは、main()の本体にあるかのように実行されます。

スクラッチまたはワークシートでコードの記述が完了したら、Runをクリックします。 実行結果は、コードの反対側の行に表示されます。

Run scratch

インタラクティブモード

IDEは、スクラッチとワークシートからコードを自動的に実行できます。入力を停止するとすぐに実行結果を取得するには、Interactive modeをオンにします。

Scratch interactive mode

モジュールの使用

スクラッチとワークシートでKotlinプロジェクトのクラスまたは関数を使用できます。

ワークシートは、それが存在するモジュールのクラスと関数に自動的にアクセスできます。

プロジェクトのクラスまたは関数をスクラッチで使用するには、通常どおり、importステートメントを使用してスクラッチファイルにインポートします。次に、コードを記述し、Use classpath of moduleリストで適切なモジュールを選択して実行します。

スクラッチとワークシートはどちらも、接続されたモジュールのコンパイル済みバージョンを使用します。したがって、モジュールのソースファイルを変更すると、モジュールをリビルドするときに変更がスクラッチとワークシートに伝播されます。 スクラッチまたはワークシートを実行するたびにモジュールを自動的にリビルドするには、Make module before Runを選択します。

Scratch select module

REPLとして実行

スクラッチまたはワークシートで特定の式を評価するには、Use REPLを選択して実行します。コード行は順番に実行され、各呼び出しの結果が提供されます。 後で、自動生成されたres*名前(対応する行に表示されます)を参照することにより、同じファイルで結果を使用できます。

Scratch REPL

ブラウザ: Kotlin Playground

Kotlin Playgroundは、ブラウザでKotlinコードを記述、実行、共有するためのオンラインアプリケーションです。

コードの記述と編集

Playgroundのエディタ領域では、ソースファイルと同じようにコードを記述できます。

  • 独自のクラス、関数、およびトップレベルの宣言を任意の順序で追加します。
  • 実行可能部分をmain()関数の本体に記述します。

一般的なKotlinプロジェクトと同様に、Playgroundのmain()関数は、argsパラメータを持つことも、パラメータをまったく持たないこともできます。 実行時にプログラム引数を渡すには、Program argumentsフィールドに記述します。

Playground: code completion

Playgroundはコードを強調表示し、入力時にコード補完オプションを表示します。標準ライブラリおよびkotlinx.coroutinesからの宣言を自動的にインポートします。

実行環境の選択

Playgroundには、実行環境をカスタマイズする方法が用意されています。

Playground: environment setup

JSバックエンドの場合、生成されたJSコードも確認できます。

Playground: generated JS

コードをオンラインで共有

Playgroundを使用してコードを他のユーザーと共有します。Copy linkをクリックして、コードを表示したい人に送信します。

Playgroundからのコードスニペットを他のWebサイトに埋め込んだり、実行可能にしたりすることもできます。Share codeをクリックして、サンプルを任意のWebページまたはMedium記事に埋め込みます。

Playground: share code

コマンドライン: ki shell

ki shellKotlin Interactive Shell)は、ターミナルでKotlinコードを実行するためのコマンドラインユーティリティです。Linux、macOS、およびWindowsで利用できます。

ki shellは、基本的なコード評価機能に加えて、次のような高度な機能を提供します。

  • コード補完
  • 型チェック
  • 外部依存関係
  • コードスニペットの貼り付けモード
  • スクリプトサポート

詳細については、ki shell GitHubリポジトリを参照してください。

ki shellのインストールと実行

ki shellをインストールするには、GitHubから最新バージョンをダウンロードし、 任意のディレクトリに解凍します。

macOSでは、次のコマンドを実行して、Homebrewでki shellをインストールすることもできます。

brew install ki

ki shellを起動するには、LinuxおよびmacOSでbin/ki.sh(またはHomebrewでki shellがインストールされている場合はki)を実行するか、 Windowsでbin\ki.batを実行します。

シェルが実行されると、ターミナルでKotlinコードの記述をすぐに開始できます。:help(または:h)と入力して、ki shellで使用できるコマンドを表示します。

コード補完と強調表示

ki shellは、Tabキーを押すとコード補完オプションを表示します。また、入力時に構文を強調表示します。 :syntax offと入力すると、この機能を無効にできます。

ki shell highlighting and completion

Enterキーを押すと、ki shellは入力された行を評価し、結果を出力します。式の値は、res*のような自動生成された名前の変数として出力されます。後で、実行するコードでそのような変数を使用できます。 入力された構造が不完全な場合(たとえば、条件はあるが本体がないifなど)、シェルは3つのドットを出力し、残りの部分を予期します。

ki shell results

式の型の確認

複雑な式やよくわからないAPIの場合、ki shellは:type(または:t)コマンドを提供し、式の型を表示します。

ki shell type

コードのロード

必要なコードが別の場所に保存されている場合、ki shellでコードをロードして使用する方法は2つあります。

  • :load(または:l)コマンドでソースファイルをロードします。
  • :paste(または:p)コマンドを使用して、貼り付けモードでコードスニペットをコピーして貼り付けます。
ki shell load file

lsコマンドは、利用可能なシンボル(変数と関数)を表示します。

外部依存関係の追加

標準ライブラリに加えて、ki shellは外部依存関係もサポートしています。 これにより、プロジェクト全体を作成せずに、サードパーティライブラリを試すことができます。

ki shellにサードパーティライブラリを追加するには、:dependsOnコマンドを使用します。デフォルトでは、ki shellはMaven Centralで動作しますが、:repositoryコマンドを使用してリポジトリを接続すると、他のリポジトリを使用できます。

ki shell external dependency