def caesar_cipher(str, key)
str1 = str.chars
arr = []
str1.each do |ch|
temp = ch
if /\w/ =~ temp
key.times do
if /[^zZ]/ =~ temp
temp.next!
elsif /[z]/ =~ temp
temp = 'a'
elsif /[Z]/ =~ temp
temp = 'A'
end
end
end
arr << temp
end
arr.join
end
puts caesar_cipher('What a string!', 5)
ZGVmIGNhZXNhcl9jaXBoZXIoc3RyLCBrZXkpCiAgc3RyMSA9IHN0ci5jaGFycwogIGFyciA9IFtdCiAgc3RyMS5lYWNoIGRvIHxjaHwKICAgIHRlbXAgPSBjaAogICAgaWYgL1x3LyA9fiB0ZW1wCiAgICAgIGtleS50aW1lcyBkbwogICAgICAgIGlmIC9bXnpaXS8gPX4gdGVtcAogICAgICAgICAgdGVtcC5uZXh0IQogICAgICAgIGVsc2lmIC9bel0vID1+IHRlbXAKICAgICAgICAgIHRlbXAgPSAnYScKICAgICAgICBlbHNpZiAvW1pdLyA9fiB0ZW1wCiAgICAgICAgICB0ZW1wID0gJ0EnCiAgICAgICAgZW5kCiAgICAgIGVuZAogICAgZW5kCiAgICBhcnIgPDwgdGVtcAogIGVuZAogIGFyci5qb2luCmVuZAoKcHV0cyBjYWVzYXJfY2lwaGVyKCdXaGF0IGEgc3RyaW5nIScsIDUpCg==