Ruby 如何将浮点数作为rake任务参数传递?
如何在rake任务中将float number作为参数传递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
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