Moduł Acme::Void
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
Obsługa modułu Acme::Void
use Acme::Void;
# wywołanie funkcji w jawnie pustym kontekście
void do_something();
# a teraz kontekst pusty zaznaczony wyraźniej
void = do_something();
# kontekstu pustego możesz użyć zamiast undef
my $str = void;
# pustka zwraca pustkę
void->foo; # zawsze void
use Acme::Void qw(:all);
# dla tych co lubią inne języki
my $foo = nil;
my $bar = null;
# nieszczęśliwa miłość...
if( $your_love eq nothing ){
my @heart = empty;
}
# a tu nie wykonujemy żadnej operacji
noop;
# można też użyć stylu obiektowego
sub meet_a_cute_girl {
my $self = shift;
$self->noop; # to znowu nic!
}
# równość
void = empty = nil = noop = nothing = null = undef;
void = void->void;
Co to jest?
Dzięki temu modułowi kontekst pusty użyty w Twoich skryptach może być jeszcze bardziej pusty niż dotychczas.
Szczegóły
Na pewno potrzebujesz void i innych nic nie robiących funkcji by Twoje programy były bardziej cool
Jak to działa
Moduł korzysta z modułu Class:BlackHole, który zamienia sposób postępowania Perla z wywołaniami nieistniejących metod na brak operacji. Cała magia to jedna krotka procedura:sub :lvalue {
lnoreturn
if want qw(LVALUE ASSIGN);
return my $self = bless sub {}, $class
if want qw(OBJECT LVALUE);
return;
};
Procedura ta jest wywoływana dla obługiwanych słów kluczowych. Zwraca odpowiednią wartość lub procedurę pustą w zależności od kontekstu wywołania.
Funkcje
Zależności
Want, Class::BlackHole
Dodatkowe informacje
Cała dokumentacja znajduje się na http://search.cpan.org/~ryochin/Acme-Void-0.02/Void.pm
Autor opracowania
P.B.