2013-05-10 16 views
3

我是新來的駝鹿,以及由Moose manual on classes似乎有效的類是:是否有必要以1結束(perl)Moose類?

package Person; 
use namespace::autoclean; 
use Moose; 

__PACKAGE__->meta->make_immutable; 

但如果是在終端「我返回true」 1; ???

我可以找到很多駝鹿類的例子,1;結束,但是這是無用的,或者它有時是必要的(和爲什麼)?因爲我還可以找到很多與use strict;use warnings;有關的Moose類的例子,這些例子絕對是多餘的,看起來一些老的perl習慣很難實現。

回答

4

不,$meta->make_immutable保證返回一個真實值。

這個方法將創建一個不可變的變壓器,並用它使階級而其元類對象不變,返回true(你不應該依賴於該值的詳細信息,除了它的道理)。

+0

我認爲這也適用於'不駝鹿'呢? – 2013-05-10 13:17:13

+0

不,不,不會導致任何代碼。它意味着'BEGIN {需要駝鹿; moose-> unimport; }' – ikegami 2013-05-10 13:19:28

+0

因此,在這方面Moose類模塊沒有什麼特別之處?我可以看到,正常的結構往往會導致這樣的事情發生,但沒有明確地做,但終端真正的返回語句仍然需要?如果這不是「保證」,那麼確保這個返回狀態的終端'1;'看起來是合理的。 – 2013-05-10 13:31:31

相關問題