caesar_cipher.sf 336 B

12345678910111213141516
  1. #!/usr/bin/ruby
  2. func caesar(msg, key, decode=false) {
  3. decode && (key = (26 - key));
  4. msg.gsub(/([A-Z])/i, {|c| ((c.uc.ord - 65 + key) % 26) + 65 -> chr});
  5. };
  6. var msg = 'THE FIVE BOXING WIZARDS JUMP QUICKLY';
  7. var enc = caesar(msg, 10);
  8. var dec = caesar(enc, 10, true);
  9. say "msg: #{msg}";
  10. say "enc: #{enc}";
  11. say "dec: #{dec}";