Remove duplicates conditionally from array in Ruby -


इस सवाल का पहले से ही एक उत्तर है: < 6 जवाब

तो मेरे पास यह सरणी है: / p>

  •   ['वन', 'दो', 'वन', 'वन', 'थ्री', 'थ्री', 'वन']  

    मुझे यह परिणाम प्राप्त करना है:

      ['वन', 'दो', 'वन', 'तीन', 'वन']  

    मैं उन आइटम को हटाना चाहता हूं जो कि पिछले आइटम के समान है रूबी में ऐसा कैसे करें

उपयोग करें

  ary = [ 'वन', 'दो', 'वन', 'वन', 'थ्री', 'थ्री', 'वन'] ary.chunk {| x | X} .मॅप (और: पहले) # = & gt; ["वन", "टू", "वन", "थ्री", "वन"]  

संख्यात्मक # चक वस्तुओं पर बराबरी करता है, वापसी के आधार पर उन्हें एक साथ चिनिंग करता है ब्लॉक का मूल्य लगातार तत्व जो एक ही ब्लॉक मान वापस लौटाते हैं उन्हें एक साथ गिना जाता है।

  ary.chunk {| x | X} .to_a = & gt; ["एक", "एक"], ["दो", ["दो"]], ["एक", "एक", "वन"], ["तीन", ["तीन" , "तीन"]], ["एक", ["एक"]]  

मानचित्र (& amp;; पहला) सरणी के प्रत्येक तत्व पर प्रथम विधि

और: पहले को proc to symbol कहा जाता है जो एक proc वस्तु बनाता है कि नक्शा

के लिए प्रत्येक तत्व का उत्पादन करती है, इसलिए ऊपर दिए गए उदाहरण को नीचे के रूप में फिर से लिखा जा सकता है:

  lambda_obj = - & gt; (ele) {ele.first} ary .chunk {| x | X} .map (और लैम्ब्डा_ओबीजे) # = & gt; ["एक", "दो", "वन", "तीन", "वन"]  

Comments

Popular posts from this blog

scala - Play Framework - how to bind form to a session field -

Django Celery - running scheduled tasks -

perl - 'Unquoted string ".." may clash with future reserved word' but only when package is used -