[ funzione CASI ] assurda

Tutte le novità sul nuovo prodotto. Per chi vuole condividere le proprie esperienze su questa nuova release

Moderatore: Moderatori

Rispondi
jarnoo
Messaggi: 169
Iscritto il: lunedì 23 agosto 2004, 2:00
Località: Arezzo

[ funzione CASI ] assurda

Messaggio da jarnoo » giovedì 1 settembre 2005, 12:45

...a perte il fatto che 'sta funzione c'è ma non è spiegata da nessuna parte, è impostata anche in modo strano: il "case" in ogni linguaggio serve per sdoppiare il "if" quando una variabile può assumere diversi valori senza dover ripetere il nome della variabile ...il FP7 invece tocca riperla ...ma allora che cavolo serve !?!?!?!? :evil:

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » giovedì 1 settembre 2005, 18:24

Migliore leggibilità !

if ( posizione > 3 ; "Acqua" ; if ( posizione = 3 ; "Acquetta" ; if ( posizione = 2 ; "Fuocherello" ; "Fuoco" ) ) )

comparato con :

Casi(
posizione > 3 ; "Acqua" ;
posizione = 3 ; "Acquetta" ;
posizione = 2 ; "Fuocherello" ;
"Fuoco"
)

La funzione "if" è un retaggio di passate versioni di FileMaker, in cui esisteva solo quella !

Effettivamente sarebbe stato opportuno, con l'introduzione di FM7, di eliminare "if" e lasciare "casi"...
... magari rinominandola "If" !!
Raybaudi FMP 12 Adv. Windows XP SP3

jarnoo
Messaggi: 169
Iscritto il: lunedì 23 agosto 2004, 2:00
Località: Arezzo

Messaggio da jarnoo » venerdì 2 settembre 2005, 0:00

mah ... io cmq scrivevo ugualmente:

if ( posizione > 3 ; "Acqua" ;
if ( posizione = 3 ; "Acquetta" ;
if ( posizione = 2 ; "Fuocherello" ;
"Fuoco" ) ) )

e non mi sembra tanto illeggibile, direi che non cambia proprio niente, casomai salta all'occhio quell'inutile ripetizione di "posizione" come dicevo sopra, cosa che non esiste in nessun linguaggio di programmazione, solo in FMP :wink:

Superp
Messaggi: 243
Iscritto il: martedì 23 settembre 2003, 2:00
Località: Buggiano (Pt)
Contatta:

Messaggio da Superp » venerdì 2 settembre 2005, 9:36

Effettivamente puo' essere vista come una cosa in piu', a mio parere la differenza tra casi e if e' che l' if valuta una condizione e a seconda del risultato esegue qualcosa piuttosto che qualcosa d'altro (che puo' essere un' altro if) mentre la funzione casi esegue una serie di verifiche e esegue qualcosa al primo risultato valido, e' una differenza leggerissima probabilmente, ma in certi casi torna utile (non indispensabile).

Comunque visto che e' una cosa in piu' e non una cosa che manca uno se vuole non la usa.
- PMP 8.5 Adv Win -

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » venerdì 2 settembre 2005, 10:03

Negli altri linguaggi di cui parli, come scriveresti:

if ( posizione > 3 ; "Acqua" ;
if ( posizione = 3 ; "Acquetta" ;
if ( posizione = 2 ; "Fuocherello" ;
if ( posizione < 2 ; "Fuoco" ;
if ( durata ricerca > 58 ; "Sei lento" ;
if ( durata ricerca > 30; "Sbrigati" ;
if ( durata ricerca <= 30 ; "Ottimo tempo" ;
"" ) ) ) ) ) ) )

:?:
Raybaudi FMP 12 Adv. Windows XP SP3

jarnoo
Messaggi: 169
Iscritto il: lunedì 23 agosto 2004, 2:00
Località: Arezzo

Messaggio da jarnoo » venerdì 9 settembre 2005, 13:27

il tuo esempio è solo un caso molto particolare, cmq cade a fagiolo perchè allora mi dovete spiegare se al realizzarsi di una condizione l'istruzione termina o continua a verificare le condizioni successive ...e ciò non è spiegato da nessuna parte in FP7 :lol:

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » venerdì 9 settembre 2005, 16:04

Ciao,

dalla guida in linea:
Funzione If
Formato

If(test;risultatoUno;risultatoDue)

Parametri

test - qualsiasi valore numerico o espressione logica

risultatoUno - nome campo o espressione

risultatoDue - espressione o nome di campo

Tipo di dati restituito

Testo, Numero, Data, Ora, Indicatore data e ora, Contenitore

Descrizione

Restituisce uno dei due risultati possibili, a seconda del valore di test. Se test è Vero (qualsiasi risultato numerico diverso da zero), FileMaker Pro restituisce risultato1. Se Test è falso, (0), viene restituito risultato2. Test deve essere un'espressione che restituisce un risultato numerico o booleano (Vero, Falso).

il calcolo restituisce il primo valore al verificarsi del primo evento VERO ( ed in quel caso non prosegue); se non si verifica nessun evento VERO va avanti fino alla fine degli eventi e restituisce il secondo valore.
Raybaudi FMP 12 Adv. Windows XP SP3

jarnoo
Messaggi: 169
Iscritto il: lunedì 23 agosto 2004, 2:00
Località: Arezzo

Messaggio da jarnoo » venerdì 9 settembre 2005, 16:22

aspetta aspetta ... non fregare :roll: stavamo parlando di "CASI" ...anche se nella tua risposta hai fatto un esempio con "IF"

8)

raybaudi
Messaggi: 3616
Iscritto il: sabato 7 febbraio 2004, 1:00
Località: Roma
Contatta:

Messaggio da raybaudi » sabato 10 settembre 2005, 1:24

raybaudi ha detto:
Effettivamente sarebbe stato opportuno, con l'introduzione di FM7, di eliminare "if" e lasciare "casi"...
... magari rinominandola "If" !!
E' la stessa cosa !

Nelle prime versioni di FM esisteva solo "IF" ed eri costretto a nidificare altri IF per valutare diverse (piu' di due) condizioni.
Poi è venuto "CASI" che, secondo me, è piu' leggibile !

Come diceva Superp: meglio 2 che niente ! :wink:
Raybaudi FMP 12 Adv. Windows XP SP3

Rispondi