ç§ã¯ã以ä¸ã®ãããªäººã«ã¯çå±ãã¸ã£ãããããªããç¡æ¡ä»¶ã«Mooseï¼Mouseã§ãæ§ãã¾ããï¼ã使ãã¨è¨ãã¾ããPerlã®OOã«æ©ã¿ãããªã人ãããããã¢ãã¼ã³Perlãä½ã§ãããç解åºæ¥ãªã人ï¼ããªãã¡ãPerlã®ãã¹ããã©ã¯ãã£ã¹ãããããã©ã¼ã«ãç¥ããªã人ããã£ã¨ç«¯çã«è¨ãã°ãPerlã«ç²¾éãã¦ããªãã赤ã¡ããè¨èã§ããåããªã人ã§ãï¼ãMooseãç¥ããªã人ï¼ç®èã§å対ãªãã¨ãè¨ã£ã¦ããã®ã§ã¯ããã¾ãããMooseãé£ããå«ããªäººã§ãããããã人ã¯ãã©ããMooseãClass::MOPã®ã½ã¼ã¹ãèªã¿ã¯ããªãã®ã ãããMooseã®ä½ããããç解ãããæéãç¡é§ã§ãï¼ã ããããPerlã«ç²¾éãã¦ãã人ã«ã¯ç¡çå¼·ããã¾ããããããããªèããããã§ããããããªã¼ãã¼ããããç¡è¦ãå¾ãªãç°å¢ãããã®ã§ããã¾ã顧客ãæã¾ãªãå ´åãããã¾ããä¸è¬çã«é¡§å®¢ã¨ããã®ã¯ãããä¿å®çã§ããã³ã¼ããç´
CPANTSã¯æ å ±ã®å®åº« Perlã使ãæ大ã®å©ç¹ã¨ããããCPANã§ãããCPANã¯åãªãã¢ã¸ã¥ã¼ã«ç½®ãå ´ã§ã¯ããã¾ãããCPANã¯ã¾ãPerlã®å©ç¨ç¶æ³ãç¥ãããã§ä¸å¯æ¬ ãªçµ±è¨æ å ±ãå¾ãå ´ã§ãããã¾ãããã®ãããªçµ±è¨æ å ±ã®ããã¤ãã¯ãããããCPANæ¤ç´¢ãµã¤ãããã確èªã§ãã¾ãããããçªã£è¾¼ãã æ å ±ã欲ããå ´åã¯CPANTSï¼CPAN Testing Serviceï¼ã¨å¼ã°ãããµã¤ãã確èªããã®ã便å©ã§ãã å½å ã§ã¯nipotanãã¨è°·å£å ¬ä¸æ°ãå§ãããè¼ãï¼å ¨æ¥æ¬æå¼· CPAN Author 決å®é¸æ権ãã®ãã¿å ã¨ãã¦ç¥ããã¦ãã¾ããããã®ãµã¤ãã§ã¯åã ã®ä½è ãã¢ã¸ã¥ã¼ã«ã®å質ã ãã§ãªãããã®ã¢ã¸ã¥ã¼ã«ãå®éã«ã©ãã§ä½¿ããã¦ãããã¨ããæ å ±ãå¾ããã¨ãã§ãã¾ãã ãã¨ãã°åååãä¸ãããã¼ã«é¢é£ã®ã¢ã¸ã¥ã¼ã«ã®å©ç¨ç¶æ³ã調ã¹ã¦ã¿ãã¨ãå¤ãè¯ãExporterãä¾åã¢ã¸ã¥ã¼ã«ã¨ãã¦åãä¸
FAQã«ããããã©ãMoose::Objectãç¶æ¿ãã¦->meta->new_objectãæ示çã«å¼ã¶ãã¨ã«ãããdelegationã使ããªãã§Non-Mooseã¯ã©ã¹ãç¶æ¿ãããã¨ãã§ããã use strict; use warnings; { package Parent; sub new { my ($class, %args) = @_; bless {name => $args{name}}, $class; } } { package Child; use Moose; extends qw(Parent Moose::Object); no Moose; sub new { my $class = shift; my $obj = $class->SUPER::new(@_); return $class->meta->new_object( __INSTANCE__
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}