FoxPro/Visual FoxPro - IIF(P,Q,R)

 
Vista:

IIF(P,Q,R)

Publicado por Hugo (1 intervención) el 27/10/2010 01:51:15
A VER SI SE PUEDE...
TENGO UNA SENTENCIA ASI:

IF IIF(P,Q,R)

ENDIF

SERA POSIBLE REEMPLAZAR IIF(P,Q,R) POR SU EQUIVALENTE EXPRESION LOGICA
SIN NECESIDAD DE VALERSE DE LA FUNCION IIF()?

HASTA AHORA LO HE TRANSFORMADO ASI:

IF (P AND Q) OR (.NOT.P AND R)

ENDIF

PERO AL HACER ESO SE ESTA EVALUANDO LA EXPRESION "P" DOS VECES
P, Q y R DEBEN EVALUARSE SOLAMENTE UNA VEZ

REITERO LA PREGUNTA:

EXISTE ALGUNA FORMA DE EVALUAR DICHAS EXPRESIONES LOGICAMENTE SIN NECESIDAD DE RECURRIR A NINGUNA FUNCION?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:IIF(P,Q,R)

Publicado por xx (378 intervenciones) el 27/10/2010 03:35:01
IF IIF(P,Q,R)
SENTENCES
ENDIF

dependiendo de que significa Q y R su reemplazo podria ser (obviamente Q y R son expresiones logicas

IF P
IF Q OR R
SENTENCES
ENDIF
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de XXX
Val: 471
Plata
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

IIF(P,Q,R)

Publicado por XXX (1541 intervenciones) el 27/10/2010 15:17:08
cada minuto nace una clase de persona asi?
Hugo, las funcioes de todos los lenguajes habidos y por haber se han diseñado para que los usuarios (programadores) se adapten al lenguaje, nunca al reves.
Aca estas tratando de aplicar los conceptos de conjuntos y subconjuntos, ahora lo que debes hacer es hacer logica tu pregunta, pero quieres hacer esto sin recurrir a NINGUNA FUNCION? En que mundo ilusorio vives?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:IIF(P,Q,R)

Publicado por Juanma Cruz (512 intervenciones) el 27/10/2010 16:14:06
LOCAL lValor
IF P
lValor= Q
ELSE
lValor= R
ENDIF

IF lValor
*!* Lo que sea que quieres hacer.
ENDIF

No veo para qué complicarse tanto (sospecho que Q y R son en realidad UDFs tuyas) pero bueno, si quieres hacerlo así, una manera es esa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:IIF(P,Q,R)

Publicado por victor perez (278 intervenciones) el 27/10/2010 20:56:32
Hugo,

Yo no soy programador de Oficio. Pero, estoy de acuerdo con XXX, si ya tienes las funciones, para que volver a lo viejo. La explicacion que te da JuanMa es lo mismo para lo que se emplea la funcion IIF (X,Y,Z)

Si es X, entonces se ejecuta la sentencia en Y y
Si no es X, entonces se ejecuta la sentencia en Z.

Asi de sencilo, sin complicaciones.

Es una manera practica de hacer comparaciones para obtener respuestas.

Victor,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar