[Perl]
@ISAはpackageが属する(継承する)クラスを指定するために使用されます。 以下の例ではCowがAnimalであることを指しています。Cow->speakとした際、Cow::speakは存在しないため、その親であるAnimal::speakを辿っていき、a Cow goes mooo!と出力されます。Cow IS A(n) AnimalだからISAみたい・・・
@Cow::ISAの部分は @ISA = qw(Animal)ともかけますが、use strict宣言をしている場合にはエラーになります。@Cow::ISAの代わりに、our @ISA= qw(Animal) もしくは use base qw(Animal)も使用できます。
[例: O'REILLYのPerl Objects, References & Modules からの抜粋]
#/usr/bin/perl
use strict;
{ package Animal;
sub speak {
my $class = shift;
print "a $class goes ", $class->sound, "!\n";
}
}
{ package Cow;
@Cow::ISA = qw(Animal);
sub sound { "mooo" }
}
Cow->speak;[関連記事]
use base - クラスの継承
perlモジュールの作成方法
広告
|
新版Perl言語プログラミングレッスン入門編 ¥ 2,835 / 売り上げランク: 8432 / 512 ページ 非常に分かりやすい。 今までにも様々な参考書に目を通してきていたが、その中でもこの本かなり読みやすく、丁寧に書かれていた。 初心者には特にお勧め。 初心者以外の方でも軽く目を通す価値はあると思う。 |
|
Code Reading―オープンソースから学ぶソフトウェア開発技法 ¥ 5,460 / 売り上げランク: 8967 / 523 ページ CodeCompleteとCodeReadingを併せて読むとよいと、 組込み系のSESSAMEプロジェクトのメーリングリストと、 OS系のTOPPERSプロジェクトのメーリングリストで推薦を受けました。 CodeCompleteは読んだことがあったので、CodeReadingを読んでいます。 オープンソースを仕事にしているので、たいへん役立っています。 MISRA-Cは研修で取り上げてきたので、本書も研修の資料としても取り上げるように準備中です。 |
|
初めてのPerl ¥ 3,780 / 売り上げランク: 11000 / 379 ページ いわゆるリャマ本として知られる定番書 初めてのとあるが初心者向きではないと思う。 よくできてはいるが、、。 |



