Node.js REPL モジュール

Java FileNode.js 組み込みモジュール


REPL はRead-Eval-Print Loop(読み取り-評価-出力ループ)の略で、シンプルな対話型プログラミング環境です。REPL 環境では、コードを入力するとすぐに実行結果を確認でき、コードスニペットの簡単なテストや新しい概念の学習に最適です。

Node.js には REPL 環境が組み込まれており、次の方法で起動できます:

node

REPL の基本機能

  1. 読み取り(Read):ユーザーが入力した JavaScript コードを読み取ります
  2. 評価(Eval):入力されたコードを実行します
  3. 出力(Print):実行結果を出力します
  4. ループ(Loop):ユーザーが終了するまでこのプロセスを繰り返します

Node.js REPL の基本的な使い方

REPL の起動

ターミナルに直接nodeコマンドを入力すると REPL 環境に入れます:

例

$ node
Welcome to Node.js v16.14.0.
Type ".help" for more information.
>

基本操作

JavaScript コードの実行:

例

> 1 + 1
2

変数の定義:

例

> let x = 10
undefined
> x * 2
20

複数行の入力:未完了の式を入力すると、REPL は自動的に複数行モードになります:

例

> function add(a, b) {
... return a + b
... }
undefined
> add(2, 3)
5

REPL の終了:

  • Ctrl+C を2回押す
  • 入力する.exit
  • Ctrl+D を押す

REPL の特殊コマンド

Node.js REPL には、ドット(.)で始まる特殊コマンドがいくつか用意されています:

よく使うコマンド

コマンド 説明
.help すべての REPL コマンドを表示
.break 複数行入力を終了
.clear REPL コンテキストをリセット
.save 現在のセッションをファイルに保存
.load ファイルからセッションを読み込む
.editor エディターモードに入る

サンプル

現在のセッションを保存:

例

> .save session.js

セッションを読み込む:

例

> .load session.js

エディターモードに入る:

例

> .editor
// エディターモードに入り、複数行のコードを入力できます
// Ctrl+D を押してコードを実行します

REPL の高度な機能

カスタム REPL 環境

プログラミングでカスタム REPL 環境を作成できます:

例

const repl = require('repl');

// カスタム REPL の作成
const myRepl = repl.start({
  prompt: 'MyNode> ',
  useColors: true
});

// カスタムコマンドの追加
myRepl.defineCommand('sayhello', {
  help: 'Say hello',
  action(name) {
    this.clearBufferedCommand();
    console.log(`Hello, ${name || 'stranger'}!`);
    this.displayPrompt();
  }
});

REPL コンテキスト

事前に変数や関数を REPL コンテキストに追加できます:

例

const repl = require('repl');

const r = repl.start();
r.context.myVar = 'Hello from context';
r.context.myFunc = () => 'Hello from function';

REPL 内でこれらの変数や関数を直接使用できます:

例

MyNode> myVar
'Hello from context'
MyNode> myFunc()
'Hello from function'

REPL サーバー

ネットワーク REPL サーバーを作成することもできます:

例

const net = require('net');
const repl = require('repl');

net.createServer((socket) => {
  repl.start({
    prompt: 'Remote> ',
    input: socket,
    output: socket,
    terminal: true
  }).on('exit', () => {
    socket.end();
  });
}).listen(8080);

REPL の実際の活用シーン

1. コードスニペットの素早いテスト

REPL は、ファイルを作成せずに JavaScript コードスニペットをテストする最も簡単な方法です。

2. 学習と実験

新しい JavaScript の機能や Node.js API を学ぶのに最適です。

3. デバッグ

REPL で変数の値をすばやく確認したり、関数の動作をテストしたりできます。

4. プロトタイプ開発

開発初期に、REPL を使ってアイデアをすばやく検証できます。


REPL の活用テクニック

1. _ 変数を使う

REPL は直前の式の結果を__ 変数に格納します:

例

> 2 + 2
4
> _ * 3
12

2. オートコンプリート

Tab キーを押すと、変数名、オブジェクトのプロパティ、グローバルオブジェクトを自動補完できます。

3. 履歴コマンド

上下の矢印キーを使って履歴コマンドを参照できます。

4. エディターモード

複雑な複数行コードには、.editorコマンドを使うと便利です。


まとめ

Node.js の REPL モジュールは強力な対話型プログラミング環境であり、以下の特徴があります:

  1. JavaScript コードをすばやくテストする機能を提供
  2. カスタム設定と拡張をサポート
  3. 便利な組み込みコマンドと機能を多数搭載
  4. 学習、デバッグ、プロトタイプ開発に使用可能

初心者から経験豊富な開発者まで、REPL は非常に価値のあるツールであり、しっかりと習得する価値があります。

Java FileNode.js 組み込みモジュール

その他の拡張