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」等東西。 (不是「我」和「我的妻子」)。

命令行變量名稱。不值。

幫助?

+0

結帳http://stackoverflow.com/questions/825748/how-do-i-pass-command-line-arguments-to-a-rake-task將命令行參數傳遞給rake任務 – AlexBrand 2013-04-22 11:46:30

+0

我檢查了它。它不回答我的問題! – beck03076 2013-04-22 11:54:42

+0

對不起,我以爲你對價值觀感興趣,而不是關鍵。 – AlexBrand 2013-04-22 11:56:36

回答

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]" 

,如果你在你的參數空間中你只需要雙引號。

+0

我並沒有這樣想,因爲我的參數中有一個逗號,例如「我的」,「我的妻子」,「我的第二,第三和第四個妻子」。請注意第二個和第三個之間的逗號。該逗號不會與[這種方式]一起工作。 – beck03076 2013-04-22 18:56:27