Moduł Perl6::Interpolators

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Obsługa modułu Perl6::Parameters

use Perl6::Interpolators; sub Foo { 1 } sub Bar { 1..5 } sub Baz { @_ } sub Context { wantarray ? &apslist&aps : &apsscalar&aps } print "Foo: $(Foo)\n"; #wypisze Foo: 1 print "Bar: @(Bar)\n"; #wypisze Bar: 1 2 3 4 5 print "Baz: $(Baz(&apsa&aps, &apsb&aps))"; #wypisze Baz: b print "Baz: @(Baz(&apsa&aps, &apsb&aps))"; #wypisze Baz: a b print "$(Context)"; #wypisze scalar print "@(Context)"; #wypisze list

Co to jest?

Moduł implementuje prototypowy styl Perla 6 z interpolacją funkcji.
Dla wszystkich nie mogących się doczekać Perla 6!

Szczegóły

Perl6::Interpolators to moduł, który pozwala na interpolacje funkcji ze stringów. Ze względu na kontekstowość Perla moduł wymaga znaku $ lub @ by funkcja wjedziała w jakim kontekście jest wywoływana. Skladnia wygląda tak $(wywołanie) dla kontekstu skalarnego lub tak @(wywołanie) dla kontekstu listowego. Taka składnia ma być aktualna dla Perla 6.
Perl6::Interpolators działa dobrze przy wywoływaniu funkcji i metod. Dziala także z wywołaniami z okrągłymi nawiasami, a także poza stringami, gdzie może być użyte do kontrolowania kontekstu. (W niektórych przypadkach to może być jedyna metoda na wymuszenie kontekstu listowego)

Błędy

Jeżeli chcesz użyć $( należy tymczasowo wyłączyć moduł: no Perl6::Interpolators; #tutaj mozesz sobie uzywac $( use Perl6::Interpolators; Na razie moduł wprowadza zmiany także w pojedynczych cudzysłowiach. Nie interpoluje funkcji w takim przypadku, jedynie śmiesznie wygląda.

Dodatkowe informacje

Cała dokumentacja znajduje się na http://search.cpan.org/~brentdax/Perl6-Interpolators-0.03/Interpolators.pm

Autor opracowania

P.B.

Uniwersytet Gdański - Instytut Informatyki - Strona domowa - Perl - Wyklady
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.