Perl 6允许你用咖喱子程序 。假设。当您想要假定领先的位置参数时,这很容易做到:
# The first one
{
sub first-and-last ( $first, $last ) {
say "Name is $first $last";
}
my &joe = &first-and-last.assuming( 'Joe' );
&joe.( 'Jones' );
}
但是,如果我想假设其他位置参数之一而只留下第一个位置参数呢?我该怎么说呢 .assuming
假设哪些参数?
# The second one
try {
sub first-and-last ( $first, $last ) {
say "Name is $first $last";
}
my &smith = &first-and-last.assuming( Empty, 'Smith' );
&smith.( 'Joe' );
}
使用命名参数这很简单,但这不是我很好奇的。
如果这是真的 只是一个EVAL 在下面,这有点令人失望。