dev*_*ter 2 ruby ruby-on-rails
在rails 3.2 , ruby 1.9.3应用程序中尝试对-1整数执行简单操作:在模型上执行此操作:
order_details[:quantity].to_i - 1
Run Code Online (Sandbox Code Playgroud)
得到了 ArgumentError: invalid radix -1
试图在网上查看,发现很少的文档.
任何帮助,请?
我假设order_details[:quantity]是一个String(尽管答案是相同的).
String#to_i为数字将被解释为的基数采用可选参数.例如,"10101".to_i(2)将解析为基数2(21作为结果给出小数).您的代码行被解释为
order_details[:quantity].to_i(-1)
Run Code Online (Sandbox Code Playgroud)
因为负一个(-1)的基础是没有意义的,它会给你这个错误.解决方案是将括号括起来,order_details[:quantity].to_i以便首先进行评估:
(order_details[:quantity].to_i) - 1
Run Code Online (Sandbox Code Playgroud)
编辑:或者,确保有-两个参数的空格(或两侧没有空格),Ruby应该正确解析它.可能是您的实际代码被写为order_details[:quantity].to_i -1(注意-和之间没有空格1)导致它读取-1然后将其作为参数传递给to_i.
| 归档时间: |
|
| 查看次数: |
1423 次 |
| 最近记录: |