Emblemas

Energizado por OpenSource
Soporta RSS2
Soporta Atom
Soporta Debian Power User
Energizado por Hacker
Soporta Last.FM
Soporta Ubuntu
Energizado por MySQL

twitter


Divertimento Programático - Invertir Texto

Cuando era estudiante, alguna vez nos pidieron hacer un programa (Java) que invirtiera el texto que se había escrito en la terminal, este problema que podría resolverlo hasta un mono drogado no despertó ningún interés, sin embargo y para no aburrirme decidí hacer un pequeño cambio de perspectiva. El programa se perdió junto con otras muchas cosas durante los años, pero aquí lo reproduzco (C#/Windows Forms).

El Código

public class StringReflection
    {
        private string InvertedABC = " `˙zʎxʍʌnʇsɹʞdouɯlʞɾıɥƃɟǝpɔqɐ";
        private string StraightABC = "abcdefghijklmnopqrstuvwxyz., ";
        public string Text;
        public StringReflection(string text)
        {
            this.Text = text.ToLower();
        }
        public string Backwards()
        {
            StringBuilder sb = new StringBuilder();
            char[] ɔqɐ = InvertedABC.ToCharArray();
            Array.Reverse(ɔqɐ);
            foreach (char c in Text)
            {
                try
                {
                    sb.Append(ɔqɐ[StraightABC.IndexOf(c)]);
                } catch (Exception) { /*Ignore the missed chars in the subset*/ }
            }
            char [] ʇxǝʇ = sb.ToString().ToCharArray();
            Array.Reverse(ʇxǝʇ);
            return new String(ʇxǝʇ);
        }
    }
 





Si quieren ver el proyecto lo pueden hacer aquí o pueden descargarlo a continuación:

Trackback URI: http://blog.ernestohs.com/index.php/trackback/10

Dejar un comentario

Escribe el código Captcha que estás viendo

Fuentes XML de comentario: RSS | Atom

music@last.fm