2017-06-27 4 views
0

私は.load myFile.jsを使用してスクリプトを実行したいが、ファイル内のすべてのものを印刷したくない。ファイルの値/結果だけを印刷したくない。私は私のプロジェクトにElectron、xterm.js、node-ptyを使用しています。ノードREPLで結果のみを印刷するにはどうすればよいですか?

> // type your code here 
undefined 
> function sum(x, y) { 
... return x + y 
... } 
undefined 
> sum(2, 3) 
5 
> 
+2

プログラムを*実行する* REPL?それはREPLの 'P [rint]'部分です。 (つまり、さまざまなREPLには設定オプションのホストがあります。) – user2864740

+0

@ user2864740ええ、私はそれを知っています、私はすでにreplの中にいたいです。私はrepl.itに似た何かを達成しようとしています。 – corasan

答えて

2

あなたは、現在のスコープ内で実行されるコードで大丈夫なら、ちょうどevalそれを::私はこのような何かを得る

// type your code here 

function sum(x, y) { 
    return x + y 
} 

sum(2, 3) 

:このコードで例えば

> eval(fs.readFileSync('myFile.js', 'utf8')) 
5 

新しいスコープが必要な場合はvm.runInNewContext(これはセキュリティではありませんITYの事、範囲のみ清浄度):requirecan be passed in its second argumentよう

> vm.runInNewContext(fs.readFileSync('myFile.js', 'utf8')) 
5 

グローバル。

+0

驚くばかり!これは完全に働いた:) – corasan

関連する問題