rake任务参数是不可变的吗?

时间:2015-12-11 15:51:09

标签: ruby-on-rails rake-task

我想修改任务参数的值(例如,我希望参数成为符号)。但似乎rake任务参数是不可变的,这是正确的吗?

  task :my_task,[:some_arg,:another_arg]  do |cmd,args|
    puts args[:some_arg].class
    args[:some_arg]=args[:some_arg].to_sym
    puts args[:some_arg].class
  end

1 个答案:

答案 0 :(得分:1)

在这里查看rake源https://github.com/ruby/rake/blob/master/lib/rake/task_arguments.rb,我们可以检查一下,方法[]被覆盖:

# Find an argument value by name or index.
def [](index)
  lookup(index.to_sym)
end

因此无法以这种方式修改参数。