标签: ruby
在Ruby中使用obj.to_i和Integer(obj)之间的差异是什么?
例如:
a =“abc” a.to_i返回0
a =“abc”
a.to_i返回0
但是,如果我使用:
整数的(a)
回报是:
ArgumentError:Integer()的值无效:“abc”
为什么?
答案 0 :(得分:4)
手册中存在差异:
String#to_i:
String#to_i
如果str开头没有有效号码,则会返回0。
str
0
Kernel#Integer:
Kernel#Integer
在任何情况下,字符串都应严格遵守数字表示。此行为与String#to_i的行为不同。