предупреждение о вопросе n00b! вот проблема: Я создаю сценарий оболочки, который принимает минимум 3 аргумента: строку, номер строки и хотя бы один файл.
Я написал сценарий, который будет принимать ТОЧНО 3 аргумента, но я не знаю, как обрабатывать несколько аргументов имени файла.
вот соответствующие части моего кода (пропуск записи обратно в файл и т. Д.):
#!/usr/bin/env ruby
the_string = ARGV[0]
line_number = ARGV[1]
the_file = ARGV[2]
def insert_script(str, line_n, file)
f = file
s = str
ln = line_n.to_i
if (File.file? f)
read_in(f,ln,s)
else
puts "false"
end
end
def read_in(f,ln,s)
lines = File.readlines(f)
lines[ln] = s + "\n"
return lines
end
# run it
puts insert_script(the_string, line_number, the_file)
теперь я знаю, что легко написать блок, который будет перебирать ВСЕ аргументы:
ARGV.each do |a|
puts a
end
но мне нужно ТОЛЬКО пропустите аргументы от ARGV [2] (имя первого файла) до имени последнего файла.
Я знаю, что должен быть - как минимум - хотя бы один простой способ сделать это, но я просто не могу понять, что это такое!
в любом случае - я был бы более чем счастлив, если бы кто-то мог просто указать мне на учебник или пример, я уверен, что их много, но я не могу их найти.
спасибо