在rake 中怎么传参数?

在一些rake脚本中,有些时候要传参数给脚本,用什么方法来传递呢?
我所知道的就加一个ENV常量例如:

desc "test"
task :test do
puts "params #{ENV[parmas]}"
end
如果使用的话:
rake test params="test"

这样就会把"test"传到脚本 中去
我想问为什么 必须用ENV这个常量呢?

2 个回答

看一下这StackoverFlow的这个问题,便了然了
How do I pass command line arguments to a rake task?

ps:
rake my_task[1,2]在0.9.2中,可能不行,需要加上引号rake "my_task[1,2]"

补充:env返回的结果是Shell下设置的变量,执行rake task params='test'时,当前shell中,params被赋值, 所以通过env可以获取

通过ENV只是通常传递参数方法,还可以用如下这种形式:

task :test, :p1 do |t, args|

args[:p1] will be "test"

end

rake test["test"]

                ——————摘自德问

你的回答