Bonsoir, bonjour
Je suis débutant en Ruby, je souhaite pour pratiquer et également utiliser le peut que j'ai appris crée un petit programme qui crypte(substitution) un texte. Seulement même après plusieurs heures de réflexion je n'arrive toujours pas au but. J'ai crée la méthode "decrypt" dans un second temps afin d'essayer de voir ce qu'il ne vas pas je vous met le code tels qu'il est actuellement.
Je précise que je suis encore en apprentissage et que je n'ai toujours pas vu la POO avec ruby.
def crypt(clear_text)
#je cree un hash pour la substitution
clef = { "a" => "k",
"b" => "u",
"c" => "i",
"d" => "e",
"e" => "h",
"f" => "a",
"g" => "l",
"h" => "j",
"i" => "r",
"j" => "x",
"k" => "g",
"l" => "p",
"m" => "v",
"n" => "b",
"o" => "z",
"p" => "t",
"q" => "s",
"r" => "m",
"s" => "q",
"t" => "y",
"u" => "d",
"v" => "f",
"w" => "n",
"x" => "c",
"y" => "w",
"z" => "o"
}
clef.each do |cle, valeur|
if clear_text.include? cle
clear_text.gsub!(/cle/, valeur)
end
end
end
#methode que je ne voulait pas au début mais que j'ai cree en esperant y voir plus clair, mais non
def decrypt(crypt_text)
clef = { "a" => "k",
"b" => "u",
"c" => "i",
"d" => "e",
"e" => "h",
"f" => "a",
"g" => "l",
"h" => "j",
"i" => "r",
"j" => "x",
"k" => "g",
"l" => "p",
"m" => "v",
"n" => "b",
"o" => "z",
"p" => "t",
"q" => "s",
"r" => "m",
"s" => "q",
"t" => "y",
"u" => "d",
"v" => "f",
"w" => "n",
"x" => "c",
"y" => "w",
"z" => "o"
}
clef.each do |cle, valeur|
if crypt_text.include? valeur
crypt_text.gsub!(/valeur/, cle)
end
end
end
puts "Entrez le text à crypter: "
text_user = gets.chomp
text_user.downcase!
clear_text = text_user
crypt_text = text_user.crypt(clear_text)
crypt_text.to_s.downcase!
puts "Votre text crypter donne:"
puts crypt_text
puts "Text décripter: "
text_decrypt = crypt_text.decrypt(crypt_text)
text_decrypt.to_s
puts text_decrypt
Désoler d'avance pour ce code qui fera saigner surement les yeux mais soyez indulgent .
Merci d'avance
Juleau
Partager