무스 사용을 시작합니다. 여기 내 테스트 패키지 코드 :무스 : 하위 유형 메시지가 표시되지 않습니다.
package MyTest;
use Moose;
use Moose::Util::TypeConstraints;
subtype 'MyStatus',
as 'Int',
where { $_ >= 0 && $_ < 10 },
message { "Wrong status: $_" };
has status => (is => 'rw', isa => 'Maybe[MyStatus]');
no Moose; 1;
그리고 여기에 프로그램입니다 :
use strict;
use warnings;
use MyTest;
my $t1 = MyTest->new('status' => 3);
$t1->status(100);
내가 얻을 것으로 기대 "잘못된 상태 : (100)"오류, 대신 나는이있어 :
을 속성 (상태)이 다음과 같은 이유로 유형 제약 조건을 전달하지 못했습니다. 접근 자 MyTest :: s tatus (MyTest.pm 라인 10에서 정의 됨) 행 4에서 값이 100 인 'Maybe [MyStatus]'유효성 검사가 실패했습니다.
그 메시지를 작동시키는 방법? 감사합니다.
오류 메시지를 다시 입력하지 마십시오. 대신 복사하여 붙여 넣으십시오. 이탤릭 인용에 맞춤법 오류가 있습니다. ;-) – simbabque
복사하여 붙여 넣기 – AndyH
터미널 창문이 너무 작아서 출력에서 줄 바꿈이 된 것 같습니다. 신경 쓰지 마. ;) – simbabque