【问题标题】:How to pass float number as rake task argument?如何将浮点数作为 rake 任务参数传递?
【发布时间】:2014-08-03 14:02:04
【问题描述】:

如何在 rake 任务中将浮点数作为参数传递

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:没有将字符串隐式转换为整数”

【问题讨论】:

  • 哪里出现了错误?哪条线?您的代码在这里工作正常。
  • @ArieShaw,我刚刚给出了示例代码,#{args[:number].class} 返回字符串,如何在 rake 中传递浮点数而不是字符串?
  • 你不能。命令行参数始终以String 的形式传入。您需要手动将它们解析为所需的格式 (args[:number].to_f)。
  • @ArieShaw - 传递 args[:number] 而不是“#{args[:number]}”,已修复

标签: ruby floating-point arguments rake


【解决方案1】:

传递参数如 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-18
    • 2011-07-02
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    相关资源
    最近更新 更多