• Publicidad

Variable que no se mantiene dentro de un while en subrutina

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Variable que no se mantiene dentro de un while en subrutina

Notapor scout » 2009-11-22 17:58 @790

¿Puede ser que si pasamos una variable a una subrutina, que dentro de ella tiene dos conexiones a bases de datos, la variable solamente se pueda usar durante la primera conexión y/o while() ...??

Resultado correcto: la variable se muestra en un print() dentro del primer while()...
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
fin de primer hoja  6612  
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


El mismo print() fuera del while() no se muestra la variable 6612
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
fin de primer hoja

 fin de Segunda hoja   ---------------------------------------------------------
-
----------------------------------------------------------
--------ARCHIVOS CREADOS CORRECTAMENTE--------------------
----------------------------------------------------------
----------------------------------------------------------
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Publicidad

Re: variable que no se mantiene dentro de un while en subrutina.

Notapor charlygarcia » 2009-11-22 18:25 @809

¡¡Qué pregunta tan rara!!
¿O no es una pregunta?

¿O estará mal redactada?

En fin.
[text]¿Cómo lograr que no se seque una gota de agua? Arrojándola al mar. [/text] - Nota: Este tag no se puede utilizar en firmas.Samsara
Avatar de Usuario
charlygarcia
Perlero nuevo
Perlero nuevo
 
Mensajes: 54
Registrado: 2009-03-06 23:16 @011

Re: Variable que no se mantiene dentro de un while en subrutina

Notapor explorer » 2009-11-22 18:53 @828

Pues... yo creo que la respuesta a la pregunta, es... sí.

:?
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14477
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Variable que no se mantiene dentro de un while en subrutina

Notapor scout » 2009-11-22 18:56 @830

Dentro de la misma subrutina... dentro del while() imprimo bien la variable pero
dentro de la misma subrutina... fuera del while() no imprime la variable...
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Variable que no se mantiene dentro de un while en subrutina

Notapor explorer » 2009-11-23 04:45 @239

Pues eso es que has escrito mal la variable o que ha sido cambiada.

Sin ver el código no es posible decirte mucho más.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14477
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Variable que no se mantiene dentro de un while en subrutina

Notapor scout » 2009-11-23 05:26 @268

Lo solucioné con un pasaje de variables dentro del while()... asigné el valor de la variable original a una nueva variable... y funcionó... lo que me interesa aprender es el porqué no retiene el valor una variable luego de un while()... si alguien lo sabe soy todo oídos... sino seguiré en la lucha...
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Variable que no se mantiene dentro de un while en subrutina

Notapor explorer » 2009-11-23 05:45 @281

Sin ver el código lo único que se me ocurre es que estamos hablando de una variable local al bucle while(), definida con my().
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14477
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Variable que no se mantiene dentro de un while en subrutina

Notapor scout » 2009-11-23 05:53 @287

Eres mago... Así es; es una variable definida al principio del programa con un my()...
la paso a la subrutina y en el primer while() funciona bien pero al salir del while() no se muestra...
Por eso la reasigné dentro del while() y funcionó...

Gracias por los consejos y mover este foro...
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Re: Variable que no se mantiene dentro de un while en subrutina

Notapor explorer » 2009-11-23 06:28 @311

No. Yo me refería a que definieras una variable dentro del bucle while().

Si has definido una variable con my() en el programa principal, esa variable es conocida en todo el programa, incluidas las subrutinas (y dentro y fuera de los while()).

Pero como no hay código que quieras mostrar, pues nos quedaremos con la duda.
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14477
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Variable que no se mantiene dentro de un while en subrutina

Notapor scout » 2009-11-24 17:52 @786

Perl 10, scout 0.

Muy bien, aprendí que el my() dice mucho en estos casos...
Solucionado correctamente asignando variable desde el inicio.
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618


Volver a Intermedio

¿Quién está conectado?

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