2016-08-09 45 views
0

我是新的紅寶石和寫了一個程序,它接受數據的幾行(實際上是一個JSON)並將其轉換成在命令行的表。與在程序中嵌入的JSON數據,但我想有它提示用戶將數據粘貼到命令行,一切工作正常。我知道getschomp,但由於一個JSON與多個行/回車,格式化,當我在命令行粘貼花費每一行作爲一個單獨的條目。我覺得答案很簡單,但我很難在網上找到信息。我只是希望它能夠一次性粘貼所有內容並忽略所有回車。粘貼輸入到具有多個托架命令行返回

有什麼建議嗎?

+0

這裏有一個類似的問題,有沒有這麼漂亮的答案:http://stackoverflow.com/questions/13839940/ruby-gets-that-works-over-multiple-lines - 否則:這將是一個選項提示用戶輸入文件名/路徑,然後從文件中讀取json? – trueunlessfalse

回答

0

如果通過控制檯$stdin以技術術語進行輸入,並且想要接收多個獨立的多行對象,則需要使用某種分隔符。

這可能與每個JSON對象之間的一條或多條空行一樣簡單,也可能是一個標記,如END--

這取決於你的JSON數據的格式化,一個JSON對象中的空行是有效的,但通常不被大多數JSON發電機發出的。

不要忘記,UNIX模型強烈建議您可以做這樣的事情:

processor < input.json 

或者像這樣的事情:

processor *.json 

在那裏你可以通過接收多個文件ARGV並按順序處理。這避免了很多這樣的混亂。