開発環境
- 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 コメント:
コメントを投稿