Raku의 before — 앞선 값인지 비교하는 연산자
Raku의 before — 앞선 값인지 비교하는 연산자
두 값 중 어느 쪽이 '앞서는지'(더 작은지)를 물어볼 일이 있어요. before 연산자가 그 비교를 담당해요. cmp와 같은 비교 의미론을 쓰면서, 첫 번째 인자가 두 번째보다 작으면 True를 돌려줘요. 순서 비교가 가능한 타입이라면 숫자든 문자열이든 버전이든 쓸 수 있죠.
multi infix:<before>(Any, Any)
multi infix:<before>(Real:D, Real:D)
multi infix:<before>(Str:D, Str:D)
multi infix:<before>(Version:D, Version:D)
Infix before (본문)
infix:<before>는 일반적인(제네릭) 순서 비교 연산자예요. cmp와 같은 의미론을 사용해서, 첫 번째 인자가 두 번째보다 작으면 True를, 아니면 False를 돌려줘요. Real, Str, Version처럼 cmp로 비교 가능한 타입들이 대상이에요.
StrDistance의 before (메서드)
이건 사실 메서드라기보다 클래스 속성(attribute)인데, 메서드처럼 부르면 변환(transformation) 이전의 문자열을 돌려줘요.
say $str-dist.before; # OUTPUT: «fold»