今天它奶奶的看了好幾小時的Code就為了搞清楚Subtype跟coerce 的使用到底是怎麼作用的,結果最後發現
幹,跟我想的完全不一樣,浪費了好幾個小時!我耖!
當一個人想要自學程式語言,那個人的英文又不好,那就是要多花好幾個小時找資料!
Damn!
目前對subtype的理解:類似Int、ArrayRef那樣可以限制參數的設定,但是是自訂的格式&自訂的錯誤message
Example Code :
package Test;
use Moose;
use Moose::Util::TypeConstraints;
subtype 'Fuck'
=> as 'Int'
=> where { $_ < 100 && $_ > 50 }
=> message { "Fuck you! " };
has 'ass' => ( is => 'rw', isa => 'Fuck', required => 1);
package main;
my $t = Test->new( ass => 5 );
因為 $t 的 ass參數不在50-100之間,報錯:Fuck you!
是這樣使用的,度爛喇!coerce 明天再學,現在規LP火怒睡一波再說。
學習資料:
http://www.php-oa.com/moose
http://www.php-oa.com/2011/09/22/perl-moose-manual-types-moose.html
下面這篇我她奶奶的最後才看到,浪費我好幾小時....