IT 관련 팁/알프레드 워크플로우

알프레드 워크플로우 - 여러 개의 변수를 애플스크립트를 거쳐 아웃풋으로 넘기기

RayShines 2022. 4. 27. 17:21
반응형

알프레드는 하나의 Argument 만을 허용한다. 그래서 하나의 Argument를 여러 개의 변수로 쪼개는 기능인 "Split Arg to Vars"를 제공한다. 그리고 이렇게 여러 개로 쪼갠 Variable을 애플스크립트로 전달할 수 있고, 그리고 노티피케이션 Notification 등의 아웃풋으로도 넘길 수 있다.


1. Argement를 여러 개의 변수로 쪼개기 (split)


아래 이미지처럼 "Split Arg to Vars" 유틸리티를 이용해 Argument를 여러 개의 Variable로 쪼갤 수 있다.


Delimiter는 " "으로 설정한다. ","으로 해도 되지만 " "로 하면 여러 개의 Argument를 구분할 때 스페이스바만 한 번 치면 된다. 그냥 빈 칸이 아니라 한 칸이다.



2. 원하는 애플스크립트 작성

원하는 애플스크립트를 작성한다.

위에 " splitText(q, " ") "라고 쓰여진 부분을 볼 수 있다. 위에서 delimiter로 " "를 설정했기 때문에 위와 같이 쓴다.

그리고 쪼개진 Argument를 각각 변수로 지정한다. 위에서는 첫 번째 쪼개진 Argument인 "item 1 of args"가 a로 지정되었다.

Set q to c&" "&b" "&c 는 변수들을 다시 하나로 합쳐 알프레드에서 쓰이는 쿼리로 바꾸는 과정이다.

Delimiter를 " "으로 설정할 것이므로 변수들을 연결할 때도 " "와 &로 연결한다.

그리고 이유를 알 수 없으나 a와 b를 곱한 값은 c를 변수로 설정할 때에는 맨 뒤에 "as text"라는 문구를 넣어서 텍스트로 설정해주어야 한다. 그렇지 않으면 마지막에 변수를 모두 하나로 합쳐서 query롤 만들 때 오류가 발생한다.

만약 처음 쿼리가 "3 7" 이었다면, 이제 새로 만들어진 쿼리는 "21 3 7"이 된다.


3. Argument를 다시 한 번 쪼갠다.

그리고 Argument를 다시 한 번 쪼갠다. Delimiter는 역시 " "로 설정한다.

위에서 만들어진 새로운 쿼리는 "21 3 7"이었다.

" "라는 delimiter로 쪼개면 결과는 아래와 같다.

Split1 :21

Split2 : 3

Split3 : 7


4. 변수를 Notification으로 보내기


위와 같이 설정하면 아래와 같은 Notification을 볼 수 있을 것이다.


Split1은 21이다. 21 3 7 중 첫 번째 것이다.

Split2는 3이다. 21 3 7 중 두 번째 것이다.

Split3는 7이다. 21 3 7 중 마지막 것이다.

만약 Split1, Split2, Split3를 변수로 쓰고 싶으면 {var:split1}, {var:split2}, and {var:split3}이라고 소환해서 쓰면 된다.


반응형