애플 숏컷에 명시적 리턴 있음
지난번 애플 숏컷 환경의 특징을 소개하면서 ‘명시적 리턴 없음’이라고 소개한 적이 있습니다. 그런데 잘못 알고 있었고 명시적으로 리턴할 수 있어 수정하겠습니다. 애플 숏컷 환경에서 숏컷 실행이 끝나면 맨 마지막에 실행된 명령의 결과가 묵시적으로 리턴됩니다. 가령 숏컷 맨 끝이 조건문으로 끝나면 조건문의 결과가, 마스토돈에 글을 올리는 명령으로 끝나면 이 명령의 결과를 묵시적으로 이 숏컷을 호출한 숏컷에서 받아 사용할 수 있습니다.
이전에는 이렇게 값을 묵시적으로 리턴 받아 사용할 수 있다고 생각했기 때문에 숏컷 마지막에 있는 명령어의 결과 대신 특정 변수를 리턴할 명시적인 방법이 없다고 생각했습니다. 원하는 값을 리턴하기 위해 숏컷 맨 끝에서 리턴하기를 원하는 값을 다른 변수에 의미 없이 할당해서 이 변수 할당 결과가 숏컷 맨 끝에 위치에 묵시적으로 리턴되도록 해서 사용해 왔습니다.
'Stop and Output'을 사용하면 지정한 값을 명시적으로 리턴할 수 있습니다. 이전에 소개한 '근태기록 오토메이션 사례'에서 자리비움 사례에 프리셋 중 하나를 선택한 결과를 표시할 작정이라고 했었는데 이 부분을 만들면서 명시적인 리턴을 사용했습니다. 위 그림에서 자리비움 메시지를 남기는 과정에서 중간에 다른 숏컷을 불러 자리비움 이유를 입력 받는데 이 결과를 ‘Stop and output’을 통해 리턴합니다. 이 사례에서는 리스트에서 한 가지를 선택하는데 이 결과인 ‘Chosen Item’을 명시적으로 지정해 리턴하게 됩니다. 이 숏컷을 호출한 숏컷에서 이 리턴을 받아 사용하면 되고요.
결론. 지난번에 애플 숏컷 환경을 소개하면서 명시적 리턴이 없다고 했었는데 이 말은 틀렸습니다. ‘Stop and output’ 명령을 통해 명시적으로 리턴할 수 있으며 리스트, 딕셔너리 등 애플 숏컷에서 제공하는 여러 형태로 리턴할 수도 있습니다.