2016-05-03 16 views
5

モジュールがuse dの明示的なインポートがない場合、すべてのサブルーチンがインポートされ、明示的なインポートを持つuse dの場合は明示的にインポートされたサブルーチンのみが使用可能になります?Perl6:暗黙的および明示的なインポート

#!/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

私の答え(エクスポート≠インポート)の下で説明したように、あなたの質問に対する待ち行列の編集を理解していますか(s/export/import /)?あなたはそれに同意しますか? – raiph

+0

@raiph:私にとってあなたの編集はうまく聞こえます(好みのサイズは少し刺激的です)。私は最初に「輸出」と不快感を感じましたが、まだそれを使用していました。 –

答えて

8

エクスポートするときに今

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

、あなたの潜水艦などを特別なラベル:DEFAULTだけでなく、専用の1の両方を与える、あなたはプレーンなでそれらのすべてをインポートすることができますuse Bar :oneで特定のものを選択することができます。

関連する問題