代码:
#test_argv.rb
puts "length: #{ARGV.length} "
ARGV.each do |a|
puts "Argument: #{a}"
end
"*.*"
如果我在调用上述内容时提供字符串(带或不带引号),则会得到以下输出:
C:\test>test_argv *.*
length: 5
Argument: afile.TXT
Argument: bfile.TXT
Argument: cfile.TXT
Argument: dfile.TXT
Argument: somethingelse.TXT
即,c:\test 中的文件列表。
其他值,例如"s*.*"
返回 somethingelse.TXT,正如您在执行文件操作时所期望的那样——但我不是。
但这表现得如预期:
C:\test>test_argv asdf
length: 1
Argument: asdf
所以我的问题是,我怎样才能制作一个用户友好的脚本,它将"*.*"
(等)作为命令行参数?此外,这是在哪里记录/解释的?
编辑:这发生在 windows 和 linux、1.8.7 和 1.9.2