我只是在尝试 Ruby,我遇到了String#to_i
. 假设我有这个代码:
var1 = '6 sldasdhkjas'
var2 = 'aljdfldjlfjldsfjl 6'
为什么puts var1.to_i
输出6
时puts var2.to_i
给出0
?
我只是在尝试 Ruby,我遇到了String#to_i
. 假设我有这个代码:
var1 = '6 sldasdhkjas'
var2 = 'aljdfldjlfjldsfjl 6'
为什么puts var1.to_i
输出6
时puts var2.to_i
给出0
?
该方法返回由字符串开头to_i
的所有可解析数字组成的数字。您的第一个字符串以数字开头,因此返回,第二个字符串不以数字开头,因此返回 0。顺便说一句,空格被忽略,所以返回 123。to_i
" 123abc".to_i
从文档中String#to_i
:
返回将 str 中的前导字符解释为整数的结果
更详尽的例子to_i
:
irb(main):013:0* "a".to_i
=> 0
irb(main):014:0> "".to_i
=> 0
irb(main):015:0> nil.to_i
=> 0
irb(main):016:0> "2014".to_i
=> 2014
irb(main):017:0> "abc2014".to_i
=> 0
irb(main):018:0> "2014abc".to_i
=> 2014
irb(main):019:0> " 2014abc".to_i
=> 2014