• Publicidad

Ayuda con un genererador de numeros

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

Ayuda con un genererador de numeros

Notapor BigBear » 2009-08-20 16:47 @741

Hola. ¿Alguien me ayudaría a hacer un for()? Lo que quiero hacer es algo así:
Tener un número final, ejemplo 6, y que se termine de generar números con comas quedando así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
1,2,3,4,5,6
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


El problema es que a mi siempre me queda:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
1,2,3,5,6,
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
(lo que me molesta es la coma final)

¿Cómo lo haría?
Última edición por explorer el 2009-08-20 17:58 @790, editado 1 vez en total
Razón: Ortografía
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Ayuda con un genererador de numeros

Notapor Leo_Gutierrez » 2009-08-20 17:35 @774

Se me ocurre esto, seguro habrá una forma más efectiva.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. my $numero;
  5. for($numero = 1; $numero < 30; $numero++)
  6. {
  7.         $numero .= ",";
  8.         print $numero;
  9.         $numero =~ s/\,//;
  10. }
  11. print $numero;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
  1. leo@lein:~/Escritorio/pl$ perl pl.pl
  2. 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Leo_Gutierrez
Perlero nuevo
Perlero nuevo
 
Mensajes: 91
Registrado: 2008-08-20 23:38 @026

Re: Ayuda con un genererador de numeros

Notapor explorer » 2009-08-20 18:00 @791

¡Os presento a join()!
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$x = 6;
print join(",", 1 .. $x);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pero... lo interesante de estas preguntas es VER el código que te falla. No debes esperar a que RockoX te dé una solución. Hay que intentar aprender por uno mismo, de nuestros propios errores. A veces... la solución la tenemos en nuestro propio código y es una tontería que no vemos, hasta que se la enseñamos a otro.

Actualización: RockoX, puedes quitar el último carácter de una cadena de caracteres, con la función chop(). No necesitas hacer algo tan costoso como una expresión regular para quitar la última coma.

Actualización: Algo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $lista;
for (my $i = 1; $i <= 6; $i++) {
    $lista .= "$i,";
}
chop $lista;
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: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Ayuda con un genererador de numeros

Notapor Leo_Gutierrez » 2009-08-20 23:19 @013

Oh, no conocía bien a join().

Jeje, a tú código no hallaba dónde ponerle el print().

Pero, bueno, aquí está el código:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. my $lista;
  5. for (my $i = 1; $i <= 6; $i++) {
  6.     $lista .= "$i,";
  7. }
  8. chop $lista;
  9. print $lista;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Leo_Gutierrez
Perlero nuevo
Perlero nuevo
 
Mensajes: 91
Registrado: 2008-08-20 23:38 @026

Re: Ayuda con un genererador de numeros

Notapor explorer » 2009-08-21 04:44 @239

No lo puse porque era obvio que no estaba poniendo el programa entero :)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

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

cron