← Back to Ruby Course | Chapter 4: Arrays | Lesson 3 of 7

each, map, select और reject

each, map, select, और reject एक list के हर item से गुज़रते हैं: each इसके साथ कुछ करता है, map इसे transform करता है, select अच्छे वालों को रखता है, और reject बुरे वालों को फेंक देता है। यह pile में हर paper handle करने वाली एक teacher की तरह है।
Syntax
ruby
array.each { |item| # side effect }
result = array.map { |item| expression }
result = array.select { |item| condition }
result = array.reject { |item| condition }

each, map, select, reject

each एक array पर iterate करता है इसके side effects के लिए एक block चलाते हुए, बिना एक नया array बनाए। map हर element transform करता है और results का एक नया array return करता है।

select सिर्फ वे elements रखता है जहाँ block true return करे, और reject सिर्फ वे elements रखता है जहाँ यह false return करे -- select का बिल्कुल opposite। ये चारों Ruby की enumerable-based, block-driven style के core हैं।

Note:
  • जब आपको एक transformed array वापस चाहिए map इस्तेमाल करें।
  • जब आप सिर्फ printing जैसे side effects की परवाह करें each इस्तेमाल करें।

उदाहरण: each, map, select, reject

markup
numbers = [1, 2, 3, 4, 5]

numbers.each { |n| puts "Value: #{n}" }

doubled = numbers.map { |n| n * 2 }
puts doubled.inspect

evens = numbers.select { |n| n.even? }
odds = numbers.reject { |n| n.even? }

puts evens.inspect
puts odds.inspect
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. each इस्तेमाल करना और एक नए array की उम्मीद करना, जब यह original array return करता है; एक नया बनाने के लिए map इस्तेमाल करें।
  2. सिर्फ print करने वाले एक block के साथ map इस्तेमाल करना, इसलिए result array nil से भर जाता है।
  3. select और reject confuse करना, जब select वे items रखता है जहाँ block true हो और reject इन्हें हटाता है।
🔒

Chapter Quiz — Complete all 7 topics to unlock

0/7 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.