- 论坛徽章:
- 0
|
看到Python板有人写了一个打印父类的程序(http://bbs3.chinaunix.net/thread-1378577-1-1.html)
感觉很有意思.
我也写一个.....
- sub parents{
- my ($modual_name) = shift;
- no strict 'refs';
- return @{$modual_name.'::ISA'};
- }
- sub derived_tree{
- my $modual_name = shift;
- my $indent = ' ' x 4;
- my $level = 0;
- my @stack;
- push @stack, [$modual_name, $level];
- while(@stack){
- ($modual_name, $level) = @{pop @stack};
- print $indent x $level, $modual_name, "\n";
- push @stack, map{[$_, $level + 1]}
- parents($modual_name);
- }
- }
- use IO::File;
- derived_tree('IO::File');
- --------output--------
- IO::File
- Exporter
- IO::Seekable
- Exporter
- IO::Handle
- Exporter
复制代码
[ 本帖最后由 DQP 于 2009-2-27 15:48 编辑 ] |
|