• Publicidad

Letras de una palabra

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Letras de una palabra

Notapor BigBear » 2013-11-13 19:40 @861

Hola. Tengo el siguiente código.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. printear("hola mundo hola mundo hola mundo \n hola mundo");
  2.  
  3. sub printear {
  4.  
  5. my @letras = @_;
  6.  
  7. for(@letras) {
  8. sleep(1);
  9. print "letra : $_ ";
  10.  
  11. }
  12.  
  13. }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Lo que estoy tratando es de recibir el texto en una función llamada printear() en la cual trato de dividir letra por letra para mostrarlo por separado cada segundo. El problema es que realizo algo mal en el código porque me muestra todo junto cuando debería hacerlo letra por letra.

¿ Alguien me puede ayudar ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Letras de una palabra

Notapor explorer » 2013-11-13 19:49 @867

¡Respondida! (a ti, curiosamente).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14482
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Letras de una palabra

Notapor BigBear » 2013-11-13 19:58 @874

Sabía que había preguntado algo así antes pero pregunto tanto en este foro que no sabía dónde estaba la pregunta respondida.
Pero sigo teniendo el mismo problema:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $|++;
  2.  
  3. printear("hola mundo hola mundo hola mundo \n hola mundo");
  4.  
  5.  
  6. sub printear {
  7.  
  8. my @letras = @_;
  9.  
  10. for my $let(@letras) {
  11. sleep(1);
  12. print "letra : $let ";
  13.  
  14. }
  15.  
  16. }
  17.  
  18.  
  19.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Y me devuelve.

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
letra : hola mundo hola mundo hola mundo
 hola mundo
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Letras de una palabra

Notapor explorer » 2013-11-13 21:55 @955

Es porque a la función sólo le estás pasando un argumento (una cadena de caracteres entrecomillada es solo un argumento). Y en ninguna parte estás partiendo ese argumento en caracteres.

Cambia la línea 8 por
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.     my @letras = split //, $_[0];
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14482
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Letras de una palabra

Notapor BigBear » 2013-11-14 09:13 @425

Ahora logré lo que quería. Gracias por la ayuda, explorer.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado