Perl6:隐式和显式导入

时间:2016-05-03 08:29:52

标签: import perl6

是否可以以这样的方式编写模块:当模块为document.getElementById('button').onfocus = function(){ var userText = document.getElementById('userInput').value ; var cost = 10 ; var price = function(){ var total = userText.length * cost; return total ; } if (userText.length === 0){ var elError = document.getElementById('enterName') ; elError.innerHTML += "Please enter a valid name" ; } else { var elErrror = document.getElementById('enterName') ; elErrror.innerHTML += 'Total Cost is $' + price() ; } } 时没有显式导入时,所有子例程都被导入;当use d显式导入时,只有这些显式导入的子例程可以吗?

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

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

1 个答案:

答案 0 :(得分:9)

在导出时为您的潜艇提供特殊标签:DEFAULT以及专用标签,例如

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

现在,您可以使用普通use Bar导入所有内容,也可以通过use Bar :one选择特定内容;