Digamos que tengo una matriz
[0, 132, 432, 342, 234]
¿Cuál es la forma más fácil de deshacerse del primer elemento? (0)
ruby-on-rails
ruby
NullVoxPopuli
fuente
fuente
Respuestas:
"hacer estallar" el primer elemento de una matriz se llama " shift " ("unshift" es la operación de agregar un elemento delante de la matriz).
fuente
nil
en una matriz vacía. Veadrop
una alternativa, como se menciona en la otra respuesta.y adicionalmente:
fuente
[].drop(1) => []
shift
muta la matriz en su lugar y devuelve el elemento desplazado (onil
si la matriz estaba vacía)Usa el
shift
método en la matrizSi desea eliminar n elementos iniciales, puede usar
x.shift(n)
fuente
Así que a diferencia
shift
oslice
Esto devuelve la matriz modificada (útil para trazadores de líneas uno).fuente
[][1..-1] => nil
y no[]
.[1,2,3].shift
una frase?arry[1..-1] || []
. Pero arry.drop (1) es aún mejor.Esto es bastante bueno:
Como está escrito en los comentarios, hay una ventaja de no mutar la lista original.
fuente
(let ((head (car mylist)) (tail (cdr mylist)) ...)
header, *properties = CSV.read(file_path,encoding: 'ISO-8859-1')
o
a.delete_at 0
fuente
Utilice el método de cambio
https://ruby-doc.org/core-2.2.0/Array.html#method-i-shift
fuente
Puedes usar:
¡rebanada! generaliza a cualquier índice o rango.
fuente
Puede usar el método Array.delete_at (0) que eliminará el primer elemento.
fuente
unless x.empty?
sea necesario. Simplemente regresanil
si el índice está fuera de rango.Puedes usar:
Ambos pueden funcionar
fuente
Puede usar:
arr - [arr[0]]
o bienarr - [arr.shift()]
o simplementearr.shift(1)
fuente