Palíndromo en Ruby

Comprobar si es un palíndromo en Ruby

Los palíndromos son palabras u oraciones que se leen igual de derecha a izquierda y de izquierda a derecha. Un ejemplo simple es la palabra oso, uno complicado es La ruta natural.

Para comprobar si es palíndromo en Ruby o cualquier otro lenguaje, primero es necesario quitar espacios y comas, así como convertir la palabra a minúscula.

Palíndromo en Ruby
Palíndromo en Ruby

Veamos entonces la codificación del algoritmo para comprobar si una palabra, string u oración es palíndromo de otra palabra.

El algoritmo

Hay que quitar espacios y otros signos de puntuación, después convertimos la palabra a minúscula o mayúscula, en este caso minúscula.

Luego de eso simplemente invertimos o volteamos la cadena y regresamos el resultado de comparar si al invertir la cadena es lo mismo que la cadena original, es decir, true o false.

Función que dice si es palíndromo en Ruby

Sin más que decir, aquí el código:

=begin
	Función que dice si una cadena es
	palíndroma

	@author parzibyte
=end
def palindromo(cadena)
	# Convertir a minúscula
	cadena = cadena.downcase
	# Quitar espacios, comas y esas cosas
	cadena = cadena.delete(" " "," "!" ".")
	# Voltear y comprobar si es igual a la original
	cadena === cadena.reverse
end
# Probar
palabras = ["oso", "la ruta natural", "ejemplo", "olla", "Ababa", "arenera", "A ti no, bonita"]
palabras.each{ |palabra| puts "¿'#{palabra}' es un palíndromo? #{palindromo palabra}"}

Usamos reverse para invertir la cadena, downcase para convertirla a minúscula y delete para quitar o remover caracteres.

Para probar, instala Ruby y luego ejecuta ruby main.rb.

Mira aquí más sobre Ruby, Algoritmos o Ejercicios resueltos.

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.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *