Ruby 如何将浮点数作为rake任务参数传递?

Ruby 如何将浮点数作为rake任务参数传递?,ruby,floating-point,arguments,rake,Ruby,Floating Point,Arguments,Rake,如何在rake任务中将float number作为参数传递 desc "example rake" task :to_store_number, [:number1, :number2] do |t, args| a = "#{args[:number1].to_f}" * "#{args[:number2].to_f}" puts a end 它给出了错误“TypeError:no implicit conversion of String to Integer”像args[:num

如何在rake任务中将float number作为参数传递

desc "example rake"
task :to_store_number, [:number1, :number2] do |t, args|
  a = "#{args[:number1].to_f}" * "#{args[:number2].to_f}"
  puts a
end

它给出了错误“TypeError:no implicit conversion of String to Integer”

像args[:number]那样传递参数,而不是像“#{args[:number]}”那样传递参数,修复了它


错误是在哪里产生的?哪一行?您的代码在这里工作得很好。@ArieShaw,我刚刚给出了示例代码,
{args[:number]。class}
返回字符串,如何在rake not string中传递浮点数?您不能。命令行参数始终作为
字符串
传入。您需要手动将它们解析为所需格式(
args[:number]。to_f
)。@ArieShaw-传递args[:number]而不是“#{args[:number]}”,修复了此问题
desc "example rake"
task :to_store_number, [:number1, :number2] do |t, args|
  a = args[:number1].to_f * args[:number2].to_f
  puts a
end