教えて君っぽくって非常に申し訳ないんですけど。
LoveTeamクラスではprint_loveメソッドとか定義してないけど、Perlではこれが普通なのかな?僕はJavaから入った人間なので、abstractなメソッド*1とか書いとくのがよくやられるのかなぁとか思ってたんですが。Javaとかだとコンパイルするときに「具象クラスで実装してねーだろーが、ぼけー」ってやさしく突っ込んでくれるってやつっすよね。
sub open { die; }
みたいになって、宣言だけはしてあるっぽいような感じ。実装してない具象クラスで使ったときに怒られるようにしてあるのか*2。
PerlなのでTIMTOWTDIなのかもしれませんが、ディファクタスタンダードみたいなのってないのかなぁ、って思った次第であります。
あああ、あとmainの
{ no strict 'refs'; @objs = map { "LoveTeam::$_"->new() } @teams }
で、no strictが何でいるのかたいまいち理解できない。いや、ないと動かないっては分かるんですが。てか、no strictの使いどころがいまいち理解できてないって話なのかなぁ。。。
なんかPerlみたいに文字列操作とか簡単にできて、クラス設計とかJavaみたいにできるような言語ってないのかなぁ><とか思ってしまう僕はやっぱりRubyにいくべきなんだろうか。あああ、でもPerlかわいいよおおおおお。