Ich versuche herauszufinden, warum meine Ruby-Entschlüsselungsmethode scheint nur für bestimmte Buchstaben des Alphabets zu brechen.Problem mit Ruby-Entschlüsselungsmethode
Das Ziel der Methode ist, eine Eingabezeichenfolge ("new_str") zu nehmen und sie zu entschlüsseln, indem JEDER Buchstabe in der Zeichenfolge mit seinem Vorgänger im Alphabet neu geschrieben wird. dh "bcd" sollte "abc" zurückgeben ...
Ich könnte mich irren, aber es scheint für die Buchstaben aj zu funktionieren, aber dann bricht für die Buchstaben kz ... für den letzten Satz scheint es entweder ein zurückzukehren "a" "b" oder "z" unabhängig vom Buchstaben: z entschlüsseln („klmnopqrstuvwxyz“) kehrt: „azazazazazbzbzbz“
Eine Beobachtung ist, dass in dem definierten Alphabet variable Zeichenfolge, die Indexzahlen zweistellig werden bei dem k-Buchstaben beginnen (Index 10) ... so vielleicht etwas, das zu werfen aus in der Formel? Wie auch immer, jede Hilfe/Vorschläge geschätzt!
def decrypt(new_str)
alphabet = "abcdefghijklmnopqrstuvwxyz"
index = 0
while index < new_str.length
new_str[index] = alphabet.index(new_str[index])
new_str[index] = alphabet[new_str[index] - 1]
index +=1
end
puts new_str
end