解决方法
它只是一个命名参数,如果标志是布尔值.这一切都有效,因为:相当于这对的语法糖:漂亮(真)又名漂亮=>真正.
您可以使用布尔值
sub format($arg,Bool :$pretty = False) { if $pretty { ... } else { ... } }
或使用其存在进行多次发送
multi format($arg) { ... } multi format($arg,Bool :$pretty!) { ... }
在第一个例子中,我们提供了一个默认值(这不是必需的,因为未定义的值boolifies为False,但它可以说是’在语义上做’正确的事情),在第二个例子中我们通过添加它使它成为必需的参数!
另请注意,命名参数仍然必须用逗号分隔,即您将其用作
format :pretty,'a b c';