2

のようなスクリプトを想像してください。

system = require "system"

system.stdout.write "What's your name? "
name = system.stdin.readLine()
system.stdout.writeLine "Hello, #{name}" 

経由で実行する

casperjs name.coffee

スクリプトの実行に使用した端末でユーザーと対話できるようにしたいのですが、readLine() 呼び出しでスタックしてしまいます。

4

2 に答える 2

2

GarethOwen指摘したように、それは確かに可能です。以下は、Unix コマンドの非常に基本的な CasperJS 実装ですcat

var system = require('system'),
    casper = require('casper').create();
while (!system.stdin.atEnd()) {
    var line = system.stdin.readLine();
    casper.log(line);
}
casper.exit();

このモジュールはほとんどが C++ で実装されていることに注意してください: https://github.com/ariya/phantomjs/blob/master/src/system.h

そしてstdin//はstdoutPhantomJsstderrクラスのインスタンスですFile: https://github.com/ariya/phantomjs/blob/master/src/filesystem.h

于 2015-07-20T22:36:18.657 に答える