開発環境
- Mac OS X Snow Leopard (OS)
- TextWrangler(Text Editor) (いずれはBBEditを入手したい!)
- Script言語:Perl
『続・初めてのPerl 改訂版』(Randal L. Schwartz, brian d foy, Tom Phoenix 著、伊藤 直也、田中 慎司、吉川 英興 監訳、株式会社ロングテール/長尾 高弘 訳、オライリー・ジャパン、2006年、ISBN4-87311-305-9) の11章(オブジェクト入門), 11.11(練習問題)、1を解いてみる。
1.
コード(TextWrangler)
#!/usr/bin/perl
use strict;
use warnings;
{ package Animal;
sub speak{
my $class = shift;
print "a $class goes ", $class->sound, "!\n";
}
}
{ package Cow;
@Cow::ISA = qw(Animal);
sub sound{ 'moooo' }
}
{ package Horse;
@Horse::ISA = qw(Animal);
sub sound{ 'neigh' }
}
{ package Sheep;
@Sheep::ISA = qw(Animal);
sub sound{ 'baaaah' }
}
{ package Mouse;
@Mouse::ISA = qw(Animal);
sub sound{ 'squeak' }
sub speak{
my $class = shift;
$class->SUPER::speak;
print "[but you can barely hear it!]\n";
}
}
my @animals = ();
print "1つ以上の小動物(Cow, Horse, Sheep, Mouse)".
"の名前を入力してください\n";
while(<>){
chomp($_);
if(/^(Cow|Horse|Sheep|Mouse)$/){
push @animals, $_;
}else{
last;
}
}
foreach (@animals){
$_->speak;
}
入出力結果(Terminal)
0 コメント:
コメントを投稿