Ruby

Eliminar y agregar elementos a arreglo en Ruby

Hoy veremos algunas operaciones básicas con arreglos en Ruby. Se trata de agregar (operación push) elementos a un arreglo existente, así como de eliminar (pop o unshift) elementos de un arreglo a través del índice.

Los arreglos funcionan cuando tenemos que guardar una lista de elementos en memoria y se necesita manipularla.

Agregar y eliminar elementos de un arreglo en Ruby

Con Ruby hay muchas formas de agregar o quitar elementos de arreglos, veremos muchas de ellas.

Lecturas recomendadas

Sé que no tiene nada que ver con Ruby, pero te invito a ver un ejemplo de pilas en C.

Agregar elementos a arreglo

Para añadir un elemento a un arreglo se pueden usar los métodos que se ven abajo. Algunos ejemplos de uso están al final de este apartado, antes de ver cómo se eliminan elementos de un arreglo.

unshift

El método unshift agrega el elemento al inicio del arreglo y recorre los demás a la derecha.

push

Es como unshift pero ahora pone el elemento al final y agranda el arreglo.

insert

Permite insertar uno o más elementos a un arreglo, pero ahora se puede especificar la posición en donde se va a insertar.

Operador <<

Este operador que fue usado al trabajar con CSV también se puede usar en los arreglos y funciona de manera similar a push.

Ejemplo de uso

Aquí el código en donde se agregan elementos a un arreglo de 4 formas distintas:

arreglo = ["Ruby", "Perl", "C", "Go", "Rust"]
=begin
 Comenzamos viendo cómo agregar elementos
 al arreglo, expongo 4 formas
=end

# Para agregar elementos podemos usar unshift, push, insert o <<

# unshift pone un elemento al inicio
arreglo.unshift("Python")
puts "Después de unshift es #{arreglo}"

# push al final
arreglo.push("C++")
puts "Después de push es #{arreglo}"

# Insert permite insertarlo en determinada posición, además de
# que permite insertar varios
arreglo.insert(1, "JavaScript", "PHP") # Ponerlos desde la posición 1
puts "Después de insert es #{arreglo}"

# Y finalmente, << funciona como push
arreglo << "Kotlin"
puts "Después de << es #{arreglo}"

Quitar elementos de un arreglo

Ahora veamos la operación inversa de agregar elementos a un arreglo, la cual es quitar o eliminar elementos de un arreglo.

Para esto existen 4 formas, y ahora vamos a verlas.

pop

Quita el último elemento del arreglo

shift

Quita el primer elemento del arreglo

delete_at

Quita un elemento pero basado en su índice

delete

Quita un elemento pero basado en su valor (qué bonita función, se extraña mucho en otros lenguajes); por cierto, quita todas las ocurrencias.

Ejemplos de quitar elementos a un arreglo

Aquí está el código de ejemplo:

=begin
 Ahora veamos cómo eliminar elementos
 de un arreglo, expongo 4 formas
=end

# pop quita el último, es como las operaciones con pilas
arreglo.pop
puts "Después de pop es #{arreglo}"

# shift es lo contrario de unshift, elimina el primer elemento
arreglo.shift
puts "Después de shift es #{arreglo}"

# delete_at elimina en un índice en particular
arreglo.delete_at 7
puts "Después de delete_at es #{arreglo}"

# Y finalmente, delete elimina no usando el índice,
# sino el valor. Por cierto, elimina todas las ocurrencias
arreglo.delete "Perl"
puts "Después de delete es #{arreglo}"

Poniendo todo junto

Si quieres, descarga el código, instala Ruby y ejecuta ruby main.rb .

Mira más sobre Ruby.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

3 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

3 días hace

Solución: Apache – Server unable to read htaccess file

Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…

4 días hace

Esta web usa cookies.