Raku의 adverb — 정규식 어드버브 문법 오류를 담는 예외

Raku의 adverb — 정규식 어드버브 문법 오류를 담는 예외

정규식에서는 :i 같은 어드버브(adverb)를 붙여서 동작을 조절해요. 그런데 어떤 어드버브가 그 자리에 올 수 없는데 잘못 썼다면, Raku는 컴파일 타임에 X::Syntax::Regex::Adverb 예외를 던져요. adverb 메서드는 그때 '무슨 어드버브가 문제였는지'를 알려 주는 메서드예요.

출처: Raku 공식 문서 — routine adverb

시그니처

method adverb(--> Str:D)

잘못 사용된 어드버브를 문자열로 돌려줘요.

언제 생기는지

예를 들어 :g 어드버브는 매치 연산에 붙는 것이지 정규식 자체에 붙는 것이 아니에요. 그래서 이 코드는

rx:g/a/

컴파일 타임에 이렇게 죽어요.

===SORRY!===
Adverb g not allowed on rx

g가 문제의 어드버브라는 걸 adverb 메서드로 확인할 수 있어요. 같이 쓰이는 construct 메서드는 그 어드버브가 어떤 구성(m, ms, rx, s, ss)에 붙었는지를 돌려줘요.