- バックアップ一覧
- 現在との差分 を表示
- ソース を表示
- バックアップ を表示
- Perl/言語仕様/AUTOLOAD へ行く。
- 1 (2012-01-13 (金) 15:35:46)
- 追加された行はこの色です。
- 削除された行はこの色です。
* AUTOLOAD [#e8a86de3] Fooパッケージにないbar()メソッドを呼ぶと、代わりにAUTOLOAD()が呼ばれる。AUTOLOAD()ではメソッド名は$AUTOLOADで参照できる。 #!/usr/bin/env perl use strict; use warnings; use 5.012; package Foo; use Data::Dumper ; sub new { my $class = shift; bless {@_}, $class; } sub foo { my $self = shift; say "foo()"; } sub AUTOLOAD { my (@arg) = @_; our $AUTOLOAD; say 'METHOD: ' . $AUTOLOAD; say 'ARGS: ' . Dumper \@arg; } package main; my $f = Foo->new; $f->foo(); $f->baz(1,2,3);