評価したい
var foo = "foo";
console.log(foo);
行ごとに評価するのではなく、ブロックとして
var foo = "foo";
undefined
console.log(foo);
foo
undefined
プロンプトを次の行に移動する簡単な方法はありますか?
評価したい
var foo = "foo";
console.log(foo);
行ごとに評価するのではなく、ブロックとして
var foo = "foo";
undefined
console.log(foo);
foo
undefined
プロンプトを次の行に移動する簡単な方法はありますか?
Node v6.4 にはeditor
モードがあります。repl プロンプト.editor
で入力すると、複数の行を入力できます。
例
$ node
> .editor
// Entering editor mode (^D to finish, ^C to cancel)
const fn = there => `why hello ${there}`;
fn('multiline');
// hit ^D
'why hello multiline'
> // 'block' gets evaluated and back in single line mode.
すべての特別な repl コマンドに関するドキュメントは次のとおりです https://nodejs.org/api/repl.html#repl_commands_and_special_keys
if(1){
を入力するまで終了しないブロックを開始するためにを使用できます}
。ブロックの最後の行の値を出力します。
> {
... var foo = "foo";
... console.log(foo);
... }
foo
undefined
複数行モードでは、オートコンプリートや構文エラーの即時通知など、多くの REPL 機能を利用できません。ブロック内の構文エラーのために複数行モードで動けなくなった場合は、 を使用^C
して通常のプロンプトに戻ります。
jhnstn のソリューションは完璧ですが、他の代替手段を探している場合は、コードを複数行の文字列内に配置して、次のようにすることができますeval
。
> let myLongCode = `
... let a = 1;
... let b = 2;
... console.log(a + b);
... `;
> eval(myLongCode)
> 3
もちろん、これはハックです;)