こんにちは、ルビーでシーザー暗号を作成しようとしていますが、行き詰まっています。
文字列を単一の文字に分割して配列に入れることができます。次に、新しいハッシュを作成し、char => バイト番号を格納しました。
ハッシュでは、h の値は 104 です。値 + 5 を変更したいのですが、値が 109 の場合、h を m に変更するにはどうすればよいですか? (104*開始、105、106、107、108、109*終了) (h*開始、i、j、k、l、*終了)
str = "hello world"
str_array = str.chars.to_a
str_hash = Hash.new
str_array.each do |char|
str_hash[char]= char.bytes
end
print str_hash
{"h"=>[104], "e"=>[101], "l"=>[108], "o"=>[111], " "=>[32], "w"=>[119], "r"=>[114], "d"=>[100]}