Передача аргументов в скрипт ruby - PullRequest
1 голос
/ 24 февраля 2012

Я запускаю такой файл:

ruby hello.rb world.csv data.csv

Как будет выглядеть стартовый файл?У меня есть это.

require 'daemons'

pwd  = File.dirname(File.expand_path(__FILE__))

wFile = "#{pwd}/world.csv"
dFile = "#{pwd}/data.csv" 

Daemons.run("hello.rb #{wFile} #{dFile}")

Ответы [ 2 ]

4 голосов
/ 28 июня 2013

Вы должны создать файл hello_daemon.rb, например:

require 'daemons'

Daemons.run("hello.rb")

И запустите его (вы можете использовать один из start, restart или run):

ruby hello_daemon.rb start -- world.csv data.csv

И daemons запустит ваш hello.rb как

ruby hello.rb world.csv data.csv
2 голосов
/ 25 февраля 2012

Используйте глобальную константу ARGV (хотя учить особо нечему), чтобы получить массив строк с параметрами.
Так что для вашего случая:

require 'daemons'

files = []
ARGV.each do |arg|
  files << File.expand_path(arg)
end

Это должнодать вам абсолютные пути к каждому аргументу, чтобы вы могли открыть их из любого места.

...