2016-05-03 14 views
5

Modül use d olduğunda, tüm alt yordamlar içe aktarılmadığında ve yalnızca açık içe aktarma ile yalnızca use d olduğunda, açıkça içe aktarılan alt yordamların var olduğu şekilde bir modül yazmak mümkün mü? ?Perl6: örtülü ve açık ithalat

#!/usr/bin/env perl6 
use v6; 
use Bar::Foo; 

# all subroutines are imported 
sub-one(); 
sub-two(); 
sub-three(); 

#!/usr/bin/env perl6 
use v6; 
use Bar::Foo :sub-one, :sub-two; 

sub-one(); 
sub-two(); 
# sub-three not imported 
+0

mı (@sid_com) altına Cevabıma (İhracat ≠ İthalat) 'de açıklandığı gibi sorunuzun (s/ihracat/ithalat /) benim sıraya düzenlemek anladın mı? Buna katılıyor musun? – raiph

+0

@raiph: Düzenlemeniz ince sesler Benim için (düşkün boyutu biraz rahatsız edici olduğunu). İlk olarak "ihracat" ile rahatsız hissettim ama yine de kullandım. –

cevap

8

Şimdi subs hem özel etiket :DEFAULT yanı sıra ihracat adanmış bir tane mesela

unit module Bar; 
sub one is export(:DEFAULT, :one) { say "one" } 
sub two is export(:DEFAULT, :two) { say "two" } 

ver, sen düz ile hepsini alabilirsiniz veya use Bar :one aracılığıyla spesifik olanları seçebilir;