No se pueden cambiar las cadenas en int en `[]`
En ruby, trato de convertir un String a Int en operador '[]
' Pero falló. Aquí está el código (mi entrada es14 45
):
STDIN.gets.split(/\s+/).each do |str|
book = tags[str.to_i] # book is just a new variable. tags is an array
end
el rubí se detendrá con un error:in '[]': no implicit conversion of String into Integer (TypeError)
Así que cambio mi código a continuación (este funciona bien):
STDIN.gets.split(/\s+/).each do |str|
number = str.to_i # for converting
book = tags[number]
end
Este funciona bien. Pero debo agregar una línea más para convertir. ¿Hay una buena manera de evitar esa línea? Mi versión de ruby es:$: ruby --version ==> ruby 2.0.0p0 (2013-02-24 revision39474) [i686-linux]
Hola muchachos, permítanme saber por qué aún quieren cerrar este tema. GRACIAS.