17

Ruby を試していたところ、String#to_i. 次のコードがあるとします。

var1 = '6 sldasdhkjas'
var2 = 'aljdfldjlfjldsfjl 6'

が与えられたときにputs var1.to_i出力されるのはなぜですか?6puts var2.to_i0

4

3 に答える 3

32

このメソッドは、文字列の先頭to_iにあるすべての解析可能な数字によって形成される数値を返します。最初の文字列は数字で始まるため、2 番目の文字列は数字で始まらないため、0 が返されます。ところで、空白は無視されるため、123 が返されます。to_i" 123abc".to_i

于 2012-01-07T10:07:58.393 に答える
9

のドキュメントからString#to_i:

str の先頭文字を整数として解釈した結果を返します

于 2012-01-07T10:08:59.793 に答える