No puedo pensar en una línea para hacer esto. ¿Hay alguna manera?
No puedo pensar en una línea para hacer esto. ¿Hay alguna manera?
Respuestas:
¿Qué pasa con el uso del unshift
método?
ary.unshift(obj, ...) → ary
Antepone los objetos al frente de uno mismo, moviendo otros elementos hacia arriba.
Y en uso:
irb>> a = [ 0, 1, 2]
=> [0, 1, 2]
irb>> a.unshift('x')
=> ["x", 0, 1, 2]
irb>> a.inspect
=> "["x", 0, 1, 2]"
shift
y en unshift
cuanto a qué se agrega a la matriz y cuál se elimina de la matriz, coloque una 'f' de los nombres mentalmente y obtendrá una imagen demasiado clara en cuanto a la dirección. (Y luego debe recordar que estos métodos no funcionan en el "final" de la matriz.;)
También puede usar la concatenación de matriz :
a = [2, 3]
[1] + a
=> [1, 2, 3]
Esto crea una nueva matriz y no modifica el original.
Puedes usar methodsolver
para encontrar las funciones de Ruby.
Aquí hay un pequeño guión,
require 'methodsolver'
solve { a = [1,2,3]; a.____(0) == [0,1,2,3] }
Ejecutando esto imprime
Found 1 methods
- Array#unshift
Puedes instalar métodosolver usando
gem install methodsolver
irb> require 'methodsolver'
causas LoadError: cannot load such file -- method_source
de ... de /var/lib/gems/1.9.1/gems/methodsolver-0.0.4/lib/methodsolver.rb:2
. Ruby 1.9.3p484, irb 0.9.6, Ubuntu 14.
pry
lugar deirb