actions — 매치 객체가 쓰인 액션 객체 꺼내기

actions — 매치 객체가 쓰인 액션 객체 꺼내기

문법(grammar)을 쓸 때 액션 객체를 함께 넘기는 경우가 있어요. 그러면 매칭 결과인 Match 객체가 그 grammar가 사용한 액션 객체를 붙들고 있게 되는데, 그걸 다시 꺼낼 때 쓰는 게 actions 메서드예요.

출처: Raku 공식 문서 — actions

본문

In Match — 액션 객체(있다면) 돌려주기

method actions(Match:D: --> Mu)

Match 객체를 만들어 낸 grammar가 사용한 액션 객체를 돌려줘요. 만약 액션 객체가 설정되지 않았다면 Mu(Raku의 최상위 타입, 그냥 '없음'을 뜻한다고 보면 돼요)를 돌려줘요.

시그니처에서 Match:D:는 invocant가 확정(definite) Match여야 한다는 뜻이에요. 즉 undef 상태의 Match에서 호출하면 안 된다는 제약이죠. 반환 타입이 Mu라서, 일반적인 코드에서는 받은 값이 액션 객체인지 아닌지를 직접 확인해 가며 쓰는 게 자연스러워요.