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

msc*_*cha 7 raku

返回没有第 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)

也好不了多少。

Eli*_*sen 8

除了你说的方法我不知道还有什么其他方法。

我一直在考虑将该.skip方法扩展到多个参数,这将允许@b.skip($n,1).

编辑:这现在是一个拉取请求

编辑:现已合并并将包含在 2022.08 版本中


CIA*_*ash 5

我不知道优雅或高效,但另一个解决方案是这样的:

\n
@a.grep: { $++ \xe2\x89\xa0 $n }\n
Run Code Online (Sandbox Code Playgroud)\n