• Publicidad

Números romanos en Perl 6

¿Tienes algo interesante que decir? ¿O quizá algo no tan interesante? Aquí tenemos un espacio para compartir todo lo que queramos decir y que no cabe en ninguno de los otros foros.

Números romanos en Perl 6

Notapor explorer » 2010-11-06 11:59 @541

En el canal irc:irc.freenode.net/#perl6 se suelen juntar aquellos que están desarrollando el lenguaje, así como los que están aprendiéndolo y probándolo.

De vez en cuando, alguien manda un pequeño programa para que el robot rakudo lo ejecute. Hace unos días, vimos como uno de los habituales por el canal, publicaba este ejemplo de conversión de números en decimal a números romanos:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
sub roman {
    my $pre = <v x xv xx xxv xxx xxxv>[($^n-4) / 5] // "";
    $n % 5 == 4 ?? $pre.substr(0, -1) ~ "i" ~ $pre.substr(-1)
                !! $pre ~ "i" x ($n % 5)
                ;
}

say roman($_) for 1..15;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

que, como podemos ver, sigue pareciéndose a Perl v5, pero ya vemos los nuevos operadores en acción.

Las principales diferencias que tenemos ahí, con respecto a Perl v5, son:
* '<', '>' para delimitar palabras, lo que hacíamos con qw()
* El operador '//', ya presente en Perl v5.10
* El operador ternario '?? !!', que sustituye al conocido '? :'
* El operador de concatenación de strings, pasa de '.' a '~'
* El método substr(), aplicado a una variable escalar
* La variable $^n, que guarda el valor del primer argumento pasado a la función, además de declarar la variable local $n (todo en uno :) )
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14476
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Volver a Pasando el rato

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados