2011-03-22 113 views
16

我看到很多其他語言,但不是JavaScript。有沒有使用JavaScript讀取標準輸入的方法?

我試圖做這樣的問題:這(codechef.com),當然程序需要能夠像C++和其他語言一樣閱讀標準。

編輯:謝謝你的答案。我想要這個功能的主要原因是我可以回答CodeChef上的問題; Codechef向作爲答案的文件/程序發送多個輸入(當然,程序必須以所需的方式響應以使答案正確)。

回答

7

這取決於你的JavaScript在執行環境。

在瀏覽器中,沒有標準輸入(瀏覽器不是一個控制檯)。輸入通常來自頁面上某個表單中的某個文本框元素。

如果你正在使用類似Rhino,那麼你可以導入標準的Java I/O類和從標準這樣讀(看到第二example不再對維基)。

1

它不在ECMAScript(JavaScript的標準化版本)標準庫中。但是,JavaScript的一些實現包括它。例如,CommonJS由幾個瀏覽器外的JavaScript環境使用,它具有system.stdin屬性。 Rhino可以使用Java的標準輸入類。

如果您只是想練習編程,您可以使用textarea作爲標準輸入的替代品。

1

在像interviewstreet這樣的環境中,它們提供了一個函數,其中所有的輸入都以字符串的形式作爲參數傳入。

所有的輸入一次。

然後,您必須解析該輸入以從該字符串中獲取各種令牌。

之後,你應該很好地編寫代碼。

6

如果使用節點作爲終端的解釋,您可以使用此:

---- name.js ---- 
var readline = require('readline'); 

var rl = readline.createInterface({ 
    input: process.stdin, 
    output: process.stdout 

}); 

rl.question(">>What's your name? ", function(answer) { 
    console.log("Hello " + answer); 
    rl.close(); 
}); 

----- terminal ---- 
node name.js