gpt4 book ai didi

ruby - 如何从命令行调用带有默认参数的 rake 任务?

转载 作者:行者123 更新时间:2023-12-05 02:21:54 26 4
gpt4 key购买 nike

我有一个 rake 任务,用于在 xml 文件中生成给定数量的项目。如果没有给出我想要一个默认值。现在只打印了 50 个,但我想在这里有一个可变的数量,我如何从命令行调用它?

namespace :utilites do
desc "generate xml"
task generate_xml: :environment do |t, args|
args.with_defaults(:length => 50)
p args[:length]
end

end

最佳答案

如果您将 length 定义为参数,它会正常工作:

namespace :utilities do
desc "generate xml"
task :generate_xml, :length do |t, args|
args.with_defaults(:length => 50)
p args[:length]
end
end

结果:

C:\Temp>rake utilities:generate_xml
50

C:\Temp>rake utilities:generate_xml[99]
"99"

如你所见,给定的参数是一个字符串!如果您需要一个数字,则必须在使用前对其进行转换。


我不知道你的 :environment 是什么。如果它应该是先决条件,您可以使用:

namespace :utilities do
task :environment do
puts "Run environment"
end
desc "generate xml"
task :generate_xml, [:length] => :environment do |t, args|
args.with_defaults(:length => 50)
p args[:length]
end
end

关于ruby - 如何从命令行调用带有默认参数的 rake 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31731053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com