код:
#test_argv.rb
puts "length: #{ARGV.length} "
ARGV.each do |a|
puts "Argument: #{a}"
end
Если я предоставлю string "*. *"
(с кавычками или без них), когда я вызываю указанное выше, я получаю следующий результат:
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