Sub::Argsã¨ãããã®ãä½ã£ã¦ããªããã Smart::Argsãç´¹ä»ãã¾ãã ä¸è¨ã§ããã¨Smart::Argsã®è¯ãã¯åãã§ãã¯ãã§ããã¨ããããªãã¨ã§ã¯ãªãã argumentsãhashã¨åããã¼åã®å¤æ°ã§ããã¨ãããã¨ã§ãããã ãµã³ãã«ã³ã¼ã use strict; use warnings; package Your::Class; use Smart::Args; sub foo { args my $self, my $fh, my $bucket => {optional => 1}, my $ext => {optional => 1}, ; } package main; foo(fh => $fh, bucket => $bucket, ext => $ext); # or foo({fh => $fh, bucket => $bucket, ext =>
Smart::Args ã¨ã¯ å®è¡æåãã§ã㯠/ ãã©ã¡ã¼ã¿ã¼ãã§ãã¯ãåºæ¥ã便å©ãªã¢ã¸ã¥ã¼ã«ã§ãã ç¾å¨ã Params::Validate ãããã¡ã¯ãã¹ã¿ã³ãã¼ãã£ã½ããã§ãããé度ãé ãã£ããããã®ã§æ£ç´å¾®å¦ã§ãã ã¾ããé度ã£ã¦ãããè²ã é¢åãæãã ãªã¼ã£ã¦æã£ã¦ãã人ãå¤ãã¨æãã¾ãã Smart::Args ã®ä½¿ãæ¹ use Smart::Args; sub foo { args my $p => 'Int', my $q => { isa => 'Int', optional => 1 }; say $q ? "$p, $q" : $p; } foo(p => 1); # 1 foo(p => 1, q => 2); # 1, 2 ããã¾ãç°¡åï¼ ä¾ãã°ã以ä¸ã®ããã«ãã㨠foo(p => 'str'); 以ä¸ã®ããã«æããã¾ãã Validation failed f
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}