최근에 MooseX::Declare 모듈을 사용하기 시작했습니다. 나는 그 구문을 좋아한다. 그것은 우아하고 청초하다. 누구든지 클래스 내에 많은 함수 (큰 것 중 일부)를 작성하고 페이지로 실행되는 클래스 정의를 작성하려는 경우가 있습니다. 함수 정의를 선언하고 클래스 외부의 실제 함수 정의 만 클래스 정의를 만들 수있는 해결 방법이 있습니까?MooseX :: Declare?를 사용하여 클래스 외부에서 함수를 정의 할 수 있습니까?
class BankAccount {
has 'balance' => (isa => 'Num', is => 'rw', default => 0);
# Functions Declaration.
method deposit(Num $amount);
method withdraw(Num $amount);
}
# Function Definition.
method BankAccount::deposit (Num $amount) {
$self->balance($self->balance + $amount);
}
method BankAccount::withdraw (Num $amount) {
my $current_balance = $self->balance();
($current_balance >= $amount)
|| confess "Account overdrawn";
$self->balance($current_balance - $amount);
}
나는 클래스를 변경할 수 있도록하는 방법이 있음을 볼 수있다 - 내가 찾는하고 무엇
이 같은 것입니다. 아무도 그것을하는 방법을 알고 있습니까?
저자에게 전자 메일을 보내고 훌륭한 작품에 대해 감사하고 구문을 좋아한다고 말한 다음 그러한 일이 가능하다고 생각하는지 물어보고 그가 기꺼이 그렇게 할 수 있는지 물어보십시오. 최악의 경우 그는 '아니오'라고 말할 수 있습니다. 게시 할 또 다른 곳은 사슴 메일 링리스트입니다. – daotoad