相关疑难解决方法(0)

perl6什么是取消选择数组或列表元素的快速方法?

要在perl6中从数组中选择多个元素,这很容易:只需使用索引列表即可:

> my @a = < a b c d e f g >;
> @a[ 1,3,5 ]
(b d f)
Run Code Online (Sandbox Code Playgroud)

但是要取消选择这些元素,我必须使用Set:

> say @a[ (@a.keys.Set (-) (1,3,5)).keys.sort ]
(a c e g)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更简单的方法,因为我使用的数组通常很大?

arrays set perl6 deselect raku

9
推荐指数
3
解决办法
160
查看次数

返回没有第 n 个元素的列表的优雅方法是什么?

返回没有第 n 个元素的列表的优雅且有效的方法是什么?我现在正在使用类似的东西:

my @b = @a;
@b.splice($n,1);
return @b;
Run Code Online (Sandbox Code Playgroud)

但这不是很优雅,而且可能也不是高效的。

(类似的东西return @b.spliced($n,1)会更好,但这不起作用。)

return flat @a[0..^$n,$n^..*]
Run Code Online (Sandbox Code Playgroud)

也好不了多少。

raku

7
推荐指数
2
解决办法
185
查看次数

标签 统计

raku ×2

arrays ×1

deselect ×1

perl6 ×1

set ×1