Stavo solo provando Ruby e mi sono imbattuto in String#to_i
. Supponiamo che io ho questo codice:Perché il numero # di stringa di Ruby a volte restituisce 0 quando la stringa contiene un numero?
var1 = '6 sldasdhkjas'
var2 = 'aljdfldjlfjldsfjl 6'
Perché puts var1.to_i
uscita 6
quando puts var2.to_i
dà 0
?
Quindi significa che se non v'è il carattere non intero all'inizio del la stringa, to_i ignorerà il resto della stringa? – hsinxh
Esatto, se la stringa inizia con un carattere non intero, interrompe immediatamente l'analisi e restituisce 0, ignorando eventuali numeri che potrebbero venire in seguito nella stringa. – DarkDust
Questo non è completamente vero: analizzerà i caratteri dello spazio bianco. "123" .to_i valuterà a 123, come farebbe una stringa che inizia con una tabulazione. –