麻烦将命令行参数传递给Ruby脚本并从命令行读取

时间:2011-12-29 22:30:41

标签: ruby command-line

我已将问题缩小到以下简单的代码段:

#!/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

我的目标是将命令行参数传递给脚本从键盘读取输入。

造成上述错误的原因是什么?

1 个答案:

答案 0 :(得分:2)

在这里找到答案:How can same program in ruby accept input from user as well as command line arguments

在使用ARGV.clear之前必须gets