algo dado como estocómo dividir cadena en serie como enteros
@grid = "4x3".split("x")
El resultado actual es una matriz de cadenas "4", "3"
¿Hay algún atajo para dividir directamente a enteros?
algo dado como estocómo dividir cadena en serie como enteros
@grid = "4x3".split("x")
El resultado actual es una matriz de cadenas "4", "3"
¿Hay algún atajo para dividir directamente a enteros?
ruby-1.9.2-p136 :001 > left, right = "4x3".split("x").map(&:to_i)
=> [4, 3]
ruby-1.9.2-p136 :002 > left
=> 4
ruby-1.9.2-p136 :003 > right
=> 3
Mapa de llamadas en la matriz resultante para convertir a enteros, y asignar cada valor a la izquierda y a la derecha, respectivamente.
>> "4x3".split("x").map(&:to_i)
=> [4, 3]
"4x3".split("x").map(&:to_i)
si no wan a ser demasiado estricto,
"4x3".split("x").map {|i| Integer(i) }
si desea lanzar excepciones si los números no se ven como números enteros (por ejemplo, "koi4xfish")
¿Ha intentado ver si el analizador de expresiones mencionado en an answer to your previous question le permite hacer esto?