我已經縮小問題到下面簡單的代碼片段閱讀:故障傳遞的命令行參數的Ruby腳本和命令行
#!/usr/bin/env ruby
print "Enter your name: "
name = gets.chomp
puts "Hello #{name}"
從OS X的終端被稱爲像這樣ruby a.rb
時也能正常工作。但是通過命令行參數這樣ruby a.rb 123
導致此錯誤:
a.rb:4:in `gets': No such file or directory - 123 (Errno::ENOENT)
from a.rb:4
我的目標是命令行參數傳遞給腳本和從鍵盤讀取輸入。
是什麼導致上述錯誤?
[ruby中的同一個程序如何接受來自用戶的輸入以及命令行參數](http://stackoverflow.com/questions/7399618/how-can-same-program-in-ruby-accept -input-from-user-as-well-as-command-line-argu) – 2011-12-29 22:49:16
你應該看看使用[OptionParser](http://rubydoc.info/stdlib/optparse/frames)。它將爲您處理清理工作,併爲您提供大量的命令行處理,而不會有太多麻煩。 – 2011-12-29 22:51:39