fork download
  1. class CaesarCipher
  2. ALFABET = ('a'..'z').to_a
  3. CHARS = 'a-zA-Z'.freeze
  4.  
  5. def initialize(shift)
  6. lkey = ALFABET.rotate(shift).join
  7. @key = lkey + lkey.upcase
  8. end
  9.  
  10. def encrypt(str)
  11. str.tr(CHARS, @key)
  12. end
  13.  
  14. def decrypt(str)
  15. str.tr(@key, CHARS)
  16. end
  17. end
  18.  
  19. z = CaesarCipher.new(9)
  20. p z.encrypt('huj pizda dzigurda')
Success #stdin #stdout 0.06s 9656KB
stdin
Standard input is empty
stdout
"qds yrimj mirpdamj"