Почему puts var1.to_i выводит 6, когда puts var2.to_i дает 0?
Ответ 1
Метод to_i возвращает число, которое формируется всеми синтаксическими числами в начале строки. Ваша первая строка начинается с цифры с цифрой, поэтому to_i возвращает это, вторая строка не начинается с цифры, поэтому возвращается 0. BTW, пробелы игнорируются, поэтому " 123abc".to_i возвращает 123.