Raku의 yada — 루틴이 스텁인지 확인하기
Raku의 yada — 루틴이 스텁인지 확인하기
함수를 아직 구현하지 않고 자리만 잡아 두는 일이 있어요. Raku에서는 본문 대신 ...(야다 연산자)를 넣어 "여기는 나중에 채울 거야"라고 표시하죠. 이렇게 아직 구현되지 않은 루틴을 **스텁(stub)**이라고 부르는데, 그게 정말 스텁인지 확인할 때 쓰는 메서드가 yada예요.
method yada(Routine:D: --> Bool:D)
루틴이 스텁이면 True를 반환합니다.
say (sub f() { ... }).yada; # OUTPUT: «True»
say (sub g() { 1; }).yada; # OUTPUT: «False»
첫 줄의 sub f는 본문이 ...뿐이라 구현되지 않은 상태니까 True가 나오고, sub g는 실제 코드 1;이 있으니 False가 나와요. 루틴이 진짜 동작하는지, 아직 빈 껍데기인지를 이 메서드 하나로 구분할 수 있어요.