Gambas-it

Gambas3 => Segnalazione bug => Topic aperto da: milio - 21 Agosto 2014, 15:52:36

Titolo: IIF(1>2, 1/0, 0)
Inserito da: milio - 21 Agosto 2014, 15:52:36
Avete mai provato la funzione IIF?

IIF(Espressione, Se Vero, Se Falso)

Bene mi sono trovato questo piccolo bug:

IIF(1>2, 1/0, 0)
Error: Division by zero

è come se gambas dovesse comunque risolvere le due condizioni e poi successivamente, in base all'espressione, ritorna il valore se vero/se falso...

Adesso io non so se è normale, ma per il mio modo di ragionare è sbagliato.
Infatti se fate in questo modo:

If 1 > 2 Then
  Return 1/0
Else
  Return 0
EndIf


è logico che mi va a processare Else.

Capita anche a voi?

Aggiungo anche che utilizzo Gambas3 Versione 3.5.3 installata da repository nemh-gambas3-trusty
Titolo: Re: IIF(1>2, 1/0, 0)
Inserito da: vuott - 21 Agosto 2014, 18:26:19
Capita anche a me.

Ad ogni modo, leggo dalla guida on line:
" Attenzione! Agire con CAUTELA! Contrariamente agli operatori IF, o ? del C/Perl, sia EspressioneVera che EspressioneFalsa sono entrambi valutati qualunque sia il valore di Test. "

Pertanto sembra essere un comportamento voluto.  :-\
Titolo: Re: IIF(1>2, 1/0, 0)
Inserito da: milio - 21 Agosto 2014, 21:33:05
Allora non si tratta di bug...

Lo uso di rado,  mo d'ora in poi cercherò di usarlo sempre meno...

Grazie vuott.   :ciao: