Quiz pop!
Domanda 1
Supponiamo di avere una funzione GetCurrentValue che ottiene il valore corrente di determinati oggetti dell'interfaccia utente e restituisce mancante (.) per altri.Supponiamo di avere un elenco di oggetti interfaccia (AllInterfaceObjects).
Funzionerà?
UserValues = Transform Each({object}, AllInterfaceObjects, GetCurrentValue(object));
FilteredValues = Filter Each({value}, UserValues, !Is Missing(value));Risposta:
Visualizza di più...Dipende da cosa
tipo di valori restituiti da GetCurrentValue.
Supponiamo che GetCurrentValue ritorni (casella di controllo << Ottieni indici selezionati()) per gli elementi della casella di controllo.Se applichi IsMissing all'elenco di indici non ottieni un letterale booleano, ottieni un elenco di booleani.
!IsMissing({1,2,3}) = {1,1,1}Poiché un elenco di booleani non è True, Filter Each lo rimuoverà!Ciò significa che FilteredValue non conterrà il tuo elenco, anche se il tuo elenco non era mancante.
Domanda 2
Come forse saprai o meno, Crea connessione al database è una funzione per la creazione di connessioni al database.Restituisce una connessione al database in caso di successo e mancante in caso di errore.
funziona?
connection = Create Database Connection(magicString);
if( !Is Missing(connection),
RunSomeQuery(connection),
Print("I have failed to connect")
);Risposta:
Visualizza di più...No.Is Missing restituisce un errore, lamentando che si aspetta valori numerici.
La mia proposta
Rendi più disciplinato l'uso di Missing (.) e Is Missing.
- Non infilare magicamente la funzione attraverso gli elenchi, dimmi se la variabile che contiene l'elenco è mancante o meno.
- Se Is Missing non è in grado di gestire il tuo successo, non utilizzare missing per segnalare un fallimento.