有人能简单介绍一下我在这条线会发生什么:凯撒暗号索引
new_word += alphabet[alphabet.index(i.downcase) - num]
new_word =当前new_word变量+什么状态呢?
这是整个方案:
def cipher(word, num)
alphabet = ('a'..'z').to_a.concat(('A'..'Z').to_a)
new_word = ""
word.each_char do |i|
if !alphabet.include?(i)
new_word +=i
else
new_word += alphabet[alphabet.index(i.downcase) - num]
end
end
return new_word.downcase.capitalize
end
puts cipher("Apples? and Oranges!", 2)
这里有基本上为此构建的String#tr方法。无需转换为unicode或其他。我使用#tr构建了一个密码。让我知道你是否想看看我做了什么。你会发现它更高效和可靠。 – Charles