0

こんにちは、ルビーでシーザー暗号を作成しようとしていますが、行き詰まっています。
文字列を単一の文字に分割して配列に入れることができます。次に、新しいハッシュを作成し、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]}
4

1 に答える 1