• Publicidad

Retorno de variables

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

Retorno de variables

Notapor panterozo » 2010-07-27 23:45 @031

Tengo un programa con operaciones "Operaciones.pl", que instancia nuevos objetos o clases Operaciones::Division, Operaciones::Suma, etc... si el resultado de la operación se llevó con éxito se retorna el resultado de tal operación. Ejemplo: 6/3 = 2 (se retorna el 2), pero para el caso de que la operación haya fallado: 6/0 = No existe, se retorna un objeto que indica qué tipo de error es, de la forma Operaciones::Error(...).

Para el caso del retorno del objeto "Operaciones::Error(...)", Perl lo leía muy bien, y podía seguir trabajando correctamente. La comparación la hago con expresiones regulares:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
if($variable_retornada =~ m/Operaciones::Error/){
    #(...)
}
 
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Hace unos días, esto dejó de funcionar, y ya no entraba jamás al if.

¿De qué forma puedo solucionar este tema?

Muchas gracias ;)
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Publicidad

Re: Retorno de variables

Notapor explorer » 2010-07-28 05:38 @276

Yo lo veo difícil, sin ver algo de código...

Te diría que pusieras print() o say() en cada paso, para ver qué es lo que contienen las variables. Vamos, hacer una traza de las variables importantes.

Así, al menos, saber por qué falla.
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: Retorno de variables

Notapor panterozo » 2010-07-28 13:11 @591

Hola, Explorer.

El código lo tengo en otro equipo, por lo que aún no te puedo subir el fragmento de éste.

He hecho los print() cnrrespondientes, y la variable tiene el nombre del objeto (ej: Objeto::Figura(...)) como cuando imprimes un hash.

El problema era que sí funcionaba, y no sé qué pudo pasar. En realidad, no volví a tocar el módulo, hasta ahora.

Leí otros threads y se indicaban unos módulos de CPAN para saber si la variable era int, double, etc... ¿Algo similar que sirva para saber si es una clase objeto?

Thanks
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: Retorno de variables

Notapor explorer » 2010-07-28 22:14 @968

Si, con la función ref() puedes saber el tipo o clase de la variable. Ejemplo:

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
~> perl -E 'use Data::Dumper; $d = Data::Dumper->new([]); say ref $d'
Data::Dumper
Coloreado en 0.002 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: Retorno de variables

Notapor panterozo » 2010-07-29 17:54 @787

El problema se solucionó, y al final, de la forma que lo había hecho en un principio estaba bien... este error venía de otra parte, en la clase Error...

Gracias de todas formas.

El debug fue mi salvación ;)
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400


Volver a Básico

¿Quién está conectado?

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