Raku의 accepts_type — definite 타입 타입체크
Raku의 accepts_type — definite 타입 타입체크
스마트매치의 오른쪽에 definite 타입(정해진 타입)이 올 때, 그 타입 체크를 수행하는 메타메서드가 accepts_type예요. Metamodel::DefiniteHOW에서 제공합니다.
method accepts_type($definite_type, $checkee)
$checkee가 definite 타입에 부합하는지 타입체크를 해요. 내부적으로는 $checkee가 그 기반(base) 타입인지, 그리고 definiteness(정해짐 여부)가 맞는지까지 확인해서, 모두 일치하면 True를 아니면 False를 돌려줍니다. 이 메타메서드가 호출되는 대표적인 순간은 스마트매치에서 definite 타입이 오른쪽에 놓인 경우랍니다.