AD

¿Ya dominas lo básico? Un curso estructurado de Ruby es la vía rápida para dar el salto.

Ver cursos de Ruby en Udemy

Enlace de afiliado. No te cuesta nada extra.

💎Lecciones de Ruby
Lección 61 / 68

Operaciones de conjuntos (unión, intersección, diferencia)

En esta lección combinarás dos conjuntos de las tres formas clásicas.

| es la unión (todo lo que está en alguno), & la intersección (lo que está en los dos) y - la diferencia (lo que está en el primero y no en el segundo). Set[1, 2, 3] es la forma corta de construir un conjunto.

El código de ejemplo aplica las tres a dos conjuntos que se solapan.

Ten presente que a - b no es lo mismo que b - a: la diferencia no es simétrica. Si lo que buscas es «lo que está en uno u otro pero no en ambos», eso es la diferencia simétrica, y se escribe a ^ b.

Estas mismas operaciones existen también en los arrays de Ruby, con los mismos símbolos, y ahí además eliminan duplicados. La diferencia es el rendimiento: sobre Set son mucho más rápidas cuando hay muchos elementos.

Es la forma natural de responder a preguntas del tipo «qué usuarios están en las dos listas», «qué permisos tiene este rol y no aquel» o «qué archivos hay aquí que no estén allí».

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Ruby directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)