0

好的,我有以下任务,

namespace :test do
  task :a do |t,args|  
    p ENV.keys
  end 
end

$ rake test:a ARG1 = "me" ARG2 = "my wife"

上面的命令显示一个大数组,即 ENV.keys

ENV.keys看起来像这样

["MANPATH", "SSH_AGENT_PID",........,"BUNDLE_BIN_PATH", "RUBYOPT", "ARG1", "ARG2"]

我只想要“ARG1”和“ARG2”,而不想要“MANPATH”、“RUBYOPT”和其他东西。(不是“我”和“我的妻子”)。

命令行变量名称。不是价值观。

帮助?

4

1 回答 1

0

试试这种方式:

namespace :test do
  task :a, [:param_me, :param_wife] do |t, args|  
    p args.param_me
    p args.param_wife
  end 
end

$ rake "test:a[me, my wife]"

如果参数中有空格,则只需要双引号。

于 2013-04-22T13:06:43.697 回答