퀴즈!
질문 1
사용자 특정 인터페이스 개체의 현재 값을 가져오고 다른 개체에 대해서는 누락된(.) 값을 반환하는 GetCurrentValue 함수가 있다고 가정합니다.인터페이스 개체(AllInterfaceObjects) 목록이 있다고 가정합니다.
작동할까요?
UserValues = Transform Each({object}, AllInterfaceObjects, GetCurrentValue(object));
FilteredValues = Filter Each({value}, UserValues, !Is Missing(value));답변:
더보기...무엇에 달려있다
친절한 GetCurrentValue가 반환하는 값.
GetCurrentValue가 체크박스 항목에 대해 (체크박스 << Get Selected Indices())를 반환한다고 가정합니다.부울 리터럴을 얻지 못하는 인덱스 목록에 IsMissing을 적용하면 부울 목록이 표시됩니다.
!IsMissing({1,2,3}) = {1,1,1}부울 목록이 True가 아니므로 Filter Each가 부울 목록을 제거합니다!즉, 목록이 누락되지 않았더라도 FilteredValue에는 목록이 포함되지 않습니다.
질문 2
아시다시피 Create Database Connection은 데이터베이스 연결을 생성하는 기능입니다.성공하면 데이터베이스 연결을 반환하고 실패하면 누락된 데이터베이스 연결을 반환합니다.
작동합니까?
connection = Create Database Connection(magicString);
if( !Is Missing(connection),
RunSomeQuery(connection),
Print("I have failed to connect")
);답변:
더보기...아니요.Is Missing은 숫자 값이 필요하다는 오류를 반환합니다.
나의 제안
Missing(.) 및 Is Missing을 보다 정교하게 사용합니다.
- 목록을 통해 함수를 마술처럼 연결하지 말고 목록을 보유하는 변수가 누락되었는지 여부를 알려주십시오.
- Is Missing이 성공을 처리할 수 없는 경우 Missing을 사용하여 실패를 알리지 마십시오.