我可以定义使用MooseX类之外的功能::声明?

我最近开始使用的模块MooseX ::申报。 我喜欢它,它的语法。 它的优雅和整洁。 有没有人遇到过的情况下,您都需要写很多函数(其中一些大的)一个类和类定义运行到网页里面? 有没有什么解决办法,使类定义只是有函数声明和类外真正的函数定义?

我所寻找的是这样的 -

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 ); }

我可以看到,有一种方法可以使课堂可变的。 有谁知道该怎么办呢?

--------------解决方案-------------

简单(但需要增加了DOC)。

class BankAccount is mutable {
}

顺便说一句,你为什么要定义的类之外的方法?

你可以随便去

class BankAccount is mutable {
method foo (Int $bar) {
# do stuff
}
}

我希望我的类定义为短,并给予的类是什么一个抽象的概念。 我喜欢它已经完成在C ++中,你有一个选项,内联或使用范围解析运算符类的外部定义函数的方式。 这使得类定义短而整齐。 这是我所期待的。

谢谢你的时间。

分类:perl的 时间:2015-03-15 人气:2
本文关键词: Perl中,模块,驼鹿
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.787 (s). 10 q(s)