Raku'da (Herhangi) bir artefakt olmadan bir listeden veya diziden bir öğeyi silme


9

Bir liste / diziden bir öğeyi silmek öğrenmek için Raku Belgeleri ve çeşitli kitaplar ve öğreticiler ve çok sayıda Stackoverflow Mesajları arama yapmış temiz kalmadan yani (Herhangi) silinen elemanın yerine

my @s = <3 18 4 8 92 14 30>;
my $item = 8; 
my $index =  @s.first($item, :k);
@s[$index]:delete;

Bu [3 18 4 (Herhangi) 92 14 30] ile sonuçlanır ve bu yüzden üzerinde herhangi bir işlem yapamam, örneğin [+]üzerine uygulayamıyorum .

Bu olmadan bir listeden / diziden bir öğe silmenin bir yolu var mı (Herhangi biri) ?

Yanıtlar:


12

Evet. Ekleme yöntemini kullanarak :

my @s = <3 18 4 8 92 14 30>;
my $item = 8; 
my $index =  @s.first($item, :k);
@s.splice($index,1);
say @s;  # [3 18 4 92 14 30]

Veya Adverb :: Eject modülünü kullanabilirsiniz, böylece yukarıdakileri şöyle yazabilirsiniz:

use Adverb::Eject;
my @s = <3 18 4 8 92 14 30>;
my $item = 8; 
my $index =  @s.first($item, :k);
@s[$index]:eject;
say @s;  # [3 18 4 92 14 30]
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.