コード:
#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*.*"
return somethingelse.TXT などは、ファイル操作を行っている場合に予想されることですが、私はそうではありません。
しかし、これは予想どおりに動作します。
C:\test>test_argv asdf
length: 1
Argument: asdf
私の質問は、"*.*"
(etc) をコマンド ライン パラメータとして受け取るユーザー フレンドリーなスクリプトを作成するにはどうすればよいですか? さらに、これはどこに文書化/説明されていますか?
編集: これは Windows と Linux、1.8.7 と 1.9.2 で発生します。