-2
我得到這個代碼的不可預知的響應,如果使用的短語只有一個字的輸出是預測的,如果移位是0,它推動事情直通。但是當這個短語中有空格的時候,這種轉變似乎是不可預測的。如果有人能看到的圖案,或者見識一下什麼方法都在做幕後(使用名new1陣列作爲接收yeilded一個不變的陣列)奇怪的行爲,從凱撒凱撒密碼實現
def caesar (phrase, shift)
alpha=('a'..'z').to_a
#new1=[]
temp=phrase.downcase.split('')
temp.each{|x| (temp[temp.index(x)]=alpha[(alpha.index(x)+shift)%26]) if alpha.include?(x)}
p temp.join
end
caesar("abcde fghijklmnopqrs tu,,..vwxyz", 1)
caesar("Frank", 1)
caesar("Frank is a willy munching wombat.", 1)
結果:
「ABCDE fghijklmnopqrs恩,, .. VWXYZ」
「gsbol」
「hucpo JS b xjnlz mvodjing xombbt」。
道歉,如果這是在別處回答,說實話,我什至不知道該問什麼。
aha,所以它找到'x'的第一個實例而不是使用當前實例,這是有道理的。你是紳士先生(不是性別歧視者) –
邑,這是正確的:) – SlySherZ