¡Examen sorpresa!
Pregunta 1
Suponga que tiene una función GetCurrentValue que obtiene el valor actual de ciertos objetos de interfaz de usuario y devuelve missing (.) Para otros.Suponga que tiene una lista de objetos de interfaz (AllInterfaceObjects).
esto funcionara?
UserValues = Transform Each({object}, AllInterfaceObjects, GetCurrentValue(object));
FilteredValues = Filter Each({value}, UserValues, !Is Missing(value));Respuesta:
Ver más...Depende de qué
amable de valores devuelve GetCurrentValue.
Suponga que GetCurrentValue devuelve (casilla de verificación << Obtener índices seleccionados ()) para los elementos de la casilla de verificación.Si aplica IsMissing a la lista de índices, no obtiene un literal booleano, obtiene una lista de booleanos.
!IsMissing({1,2,3}) = {1,1,1}Debido a que una lista de valores booleanos no es verdadera, Filter Each la eliminará.Eso significa que FilteredValue no contendrá su lista, aunque no faltara su lista.
Pregunta 2
Como puede que sepa o no, Crear conexión de base de datos es una función para crear conexiones de base de datos.Devuelve una conexión de base de datos en caso de éxito y falta en caso de error.
¿Esto funciona?
connection = Create Database Connection(magicString);
if( !Is Missing(connection),
RunSomeQuery(connection),
Print("I have failed to connect")
);Respuesta:
Ver más...No.Is Missing devuelve un error, quejándose de que espera valores numéricos.
Mi propuesta
Haga el uso de la falta (.) Y la falta más disciplinado.
- No pase mágicamente la función por listas, dígame si la variable que contiene la lista falta o no.
- Si Falta no puede manejar su éxito, no utilice la falta para señalar el fracaso.