标量稀饭?

Scalar slurpies?

据我(和 docs)所知,slurpies 只能与数组或散列参数一起使用。但是,我最近打错了语法并输入了看起来像是标量 slurpy 的语法。令我惊讶的是,这并没有导致语法错误。经过一些实验,我确定以下都是允许的:

sub f(*$a)  {}
sub g(**$a) {}
sub h(+$a)  {}

我不能,但是看看这个语法做了什么(如果有的话)。发生什么了?这是一个文档不足的功能吗?导致无效语法不抛出错误的错误?完全不同?

So what's going on? Is this an under-documented feature? A bug that's causing invalid syntax not to throw an error? Something else altogether?

它的未记录和损坏的行为。据推测,它会有不同的行为。这是一个已提交的错误。参见 Slurpy scalar parameters (and duplicate https://github.com/Raku/old-issue-tracker/issues/5656) 进一步讨论。