Raku में किसी भी (किसी भी) आर्टिफैक्ट के बिना किसी सूची या सरणी से एक तत्व हटाएं


9

मैं कैसे एक सूची / सरणी से किसी आइटम को हटाने के लिए सीखने के लिए Raku प्रलेखन और कई पुस्तकों और ट्यूटोरियल और कई Stackoverflow पदों खोज की है सफाई से बिना यानी (कोई भी) नष्ट कर दिया तत्व के स्थान पर

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

इसका परिणाम [३ १ (४ (कोई भी) ९ २४ १४ ३०] और इसलिए मैं इस पर कोई ऑपरेशन नहीं कर सकता, जैसे मैं इस [+]पर आवेदन नहीं कर सकता ।

क्या किसी सूची / सरणी से किसी आइटम को हटाने का कोई तरीका है (कोई भी) ?

जवाबों:


12

हाँ। ब्याह विधि का उपयोग करना :

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]

या आप Adverb :: Eject मॉड्यूल का उपयोग कर सकते हैं , इसलिए आप ऊपर लिख सकते हैं:

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]
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.