[ funzione CASI ] assurda
Moderatore: Moderatori
-
- Messaggi: 169
- Iscritto il: lunedì 23 agosto 2004, 2:00
- Località: Arezzo
[ funzione CASI ] assurda
...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 !?!?!?!?
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
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" !!
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
-
- Messaggi: 169
- Iscritto il: lunedì 23 agosto 2004, 2:00
- Località: Arezzo
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
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
-
- Messaggi: 243
- Iscritto il: martedì 23 settembre 2003, 2:00
- Località: Buggiano (Pt)
- Contatta:
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.
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 -
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
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" ;
"" ) ) ) ) ) ) )
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
-
- Messaggi: 169
- Iscritto il: lunedì 23 agosto 2004, 2:00
- Località: Arezzo
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
Ciao,
dalla guida in linea:
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.
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
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
raybaudi ha detto:
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 !
E' la stessa cosa !Effettivamente sarebbe stato opportuno, con l'introduzione di FM7, di eliminare "if" e lasciare "casi"...
... magari rinominandola "If" !!
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 !
Raybaudi FMP 12 Adv. Windows XP SP3