Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Saito_25 en 28 Marzo 2015, 19:31 pm



Título: Duda con código simple (creo) en Ruby.
Publicado por: Saito_25 en 28 Marzo 2015, 19:31 pm
Bueno, creo que tengo una duda de nobs, o al menos eso creo. Espero que me puedan contestar, por favor. Y gracias adelantadas  ;).

En fin, estoy haciendo un ejercicio que me pide que dada una frase por el usuario, y después dadas unas serie de palabras por el mismo, verifique si las segundas palabras se encuentran en las primeras y si es así, esas palabras se sustituyan por CONFIDENCIAL.

Código:
puts "Hola, expón el texto a investigar."
texto = gets.chomp
puts "Hola, expón las palabras a pulgar separadas con espacios."
modificar = gets.chomp

palabras = texto.split(" ")
modificadoras = texto.split(" ")

palabras.each do |palabra|
    if
        print palabra + " "
    else
        print "CONFIDENCIAL" + " "
    end
end

En fin, yo introduzco, por ejemplo este texto:
La luna roja, se tiño por el color de tus labios, el mar blanco perdió el color por el resplandor de tu piel, y el cálido se enfrío por tus lágrimas de miel.

Ahora, en el segundo gets.chomp añado las palabras: luna mar sol
Sin comas y separas por un espacio.

Como hago para que me verifique el código si las segundas palabras están en el texto y me las cambie por CONFIDENCIAL.


Título: Re: Duda con código simple (creo) en Ruby.
Publicado por: Usuario Invitado en 28 Marzo 2015, 19:49 pm
Creo que la segunda serie de palabras no debes añadirla a la primera. Por ejemplo algo así:

Código
  1. var palabras = modificar.split(" ");
  2. palabras.each do |palabra|
  3.    if texto.include? palabra # si el texto contiene la palabra
  4.        texto.gstub! palabra, "CONFIDENCIAL" # se reemplaza por CONFIDENCIAL
  5.    end
  6. end

Recorres las palabras a verificar y compruebas si el texto la contiene (texto.include? palabra). Si es verdadero reemplazas todas las apariciones de dicha palabra por CONFIDENCIAL (texto.gstub! palabra, "CONFIDENCIAL").

No manejo Ruby, pero inténtalo.


Saludos.


Título: Re: Duda con código simple (creo) en Ruby.
Publicado por: Saito_25 en 28 Marzo 2015, 20:18 pm
Thank you so much. It works.