Sha256: ca89f30b59c045c70dfe5d3e2fb1113fda4864e1c38139a1f5adcc65e348b5a4
Contents?: true
Size: 744 Bytes
Versions: 209
Compression:
Stored size: 744 Bytes
Contents
using System; using System.Linq; public static class RotationalCipher { private const string LowerCaseLetters = "abcdefghijklmnopqrstuvwxyz"; private const string UpperCaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static string Rotate(string text, int shiftKey) => new string(text.Select(letter => Rotate(letter, shiftKey)).ToArray()); private static char Rotate(char letter, int shiftKey) { if (!char.IsLetter(letter)) return letter; return Rotate(letter, shiftKey, char.IsLower(letter) ? LowerCaseLetters : UpperCaseLetters); } private static char Rotate(char letter, int shiftKey, string key) => key[(key.IndexOf(letter) + shiftKey) % key.Length]; }
Version data entries
209 entries across 209 versions & 1 rubygems