ruby somescript.rb somehugelonglistoftextforprocessing
這是一個壞主意嗎?相反,我應該創建一個單獨的平面文件包含somehugelonglistoftextforprocessing,並讓somescript.rb閱讀它?將相當大的參數傳遞給ruby腳本,有問題嗎?
如果腳本參數是非常非常長的文本(1KB〜300KB),它有關係嗎?如果有的話,會出現什麼問題。
ruby somescript.rb somehugelonglistoftextforprocessing
這是一個壞主意嗎?相反,我應該創建一個單獨的平面文件包含somehugelonglistoftextforprocessing,並讓somescript.rb閱讀它?將相當大的參數傳遞給ruby腳本,有問題嗎?
如果腳本參數是非常非常長的文本(1KB〜300KB),它有關係嗎?如果有的話,會出現什麼問題。
只要你的命令行處理代碼的限制(例如,bash
或ruby
本身)都沒有超過,你應該有這樣做沒有技術問題。
是否是好想法是另一回事。你真的想每次運行你的程序時都要輸入幾百千字節每?如果包含空格,您是否想要記住在數據中加入引號?
有許多的方法,我已經看到了這個處理,你可能要考慮(這個列表是沒有窮盡):
更改您的代碼,這樣,如果沒有參數,從標準輸入讀取的信息 - 這將讓你做任何
ruby somescript.rb myData
或
ruby somescript.rb <myFile.txt
。
使用特殊字符來表示文件輸入(我已經看到@
以這種方式使用)。所以,
ruby somescript.rb myData
將使用命令行中提供的數據,同時
ruby somescript.rb @myFile.txt
會從文件中獲取數據。
我的建議是對數據大小使用基於文件的方法,並允許在指定的情況下使用參數。這包括兩種可能的情況:
我第二個paxdiablo的建議。在[另一個SO線程](http://stackoverflow.com/questions/273262/best-practices-with-stdin-in-ruby)上有關於這種方法的一些很好的討論可能有用 – 2009-11-13 11:59:55