map, select, reject
Transformeren en filteren
map, select, reject is een gratis Ruby Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Ruby Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Ruby Academy bevat in totaal 4 lessen.
Transformeren met map
map maakt een nieuwe array door het blok op elk element uit te voeren. Het origineel blijft ongewijzigd.
nums = [1, 2, 3]
doubled = nums.map { |n| n * 2 }
puts doubled.inspect
puts nums.inspectmap voor tekenreeksen
map kan waarden van elk type transformeren, bijvoorbeeld door woorden naar hoofdletters om te zetten.
words = ["red", "green"]
puts words.map { |w| w.upcase }.inspectDe snelkoppeling met een symbool
Wanneer het blok alleen één methode aanroept, gebruik je &:method als snelkoppeling.
words = ["a", "b", "c"]
puts words.map(&:upcase).inspectmap met een index
Koppel with_index aan wanneer je ook posities nodig hebt.
letters = %w[a b c]
result = letters.map.with_index { |l, i| "#{i}:#{l}" }
puts result.inspectFilteren met select
select (alias filter) houdt alleen elementen over waarvoor het blok waar is.
nums = [1, 2, 3, 4, 5, 6]
evens = nums.select { |n| n.even? }
puts evens.inspectTekenreeksen filteren
select werkt met elke voorwaarde, bijvoorbeeld om lange woorden over te houden.
words = ["hi", "hello", "hey", "welcome"]
puts words.select { |w| w.length > 3 }.inspectVerwijderen met reject
reject is het tegenovergestelde van select. Het verwijdert elementen waarvoor het blok waar is.
nums = [1, 2, 3, 4]
puts nums.reject { |n| n.even? }.inspectmap en select aan elkaar koppelen
Omdat elke methode een nieuwe array teruggeeft, kun je methoden aan elkaar koppelen in een verwerkingsketen.
nums = [1, 2, 3, 4, 5]
result = nums.select { |n| n.odd? }.map { |n| n * 10 }
puts result.inspectfilter_map
filter_map combineert filteren en omzetten in één doorgang: het houdt resultaten van het blok over die niet false zijn.
nums = [1, 2, 3, 4]
result = nums.filter_map { |n| n * 2 if n.even? }
puts result.inspectflat_map
flat_map zet waarden om en vlakt vervolgens één niveau van geneste arrays af.
pairs = [[1, 2], [3, 4]]
puts pairs.flat_map { |p| p }.inspectpartition
partition splitst een collectie op in twee arrays: overeenkomsten en niet-overeenkomsten.
nums = [1, 2, 3, 4, 5]
evens, odds = nums.partition { |n| n.even? }
puts evens.inspect
puts odds.inspectKorte controle
Controleer of je transformeren en filteren beheerst.
Samenvatting
Je beheerst nu transformeren en filteren:
mapom te transformeren, met de snelkoppeling&:methodselect/filterenreject- methoden aan elkaar koppelen,
filter_map,flat_map,partition
Volgende: reduce en each_with_object voor aggregatie.
puts [1, 2, 3, 4].select(&:even?).map { |n| n * n }.inspectLeer Ruby met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 29
- Lessen
- 109
Veelgestelde vragen
Is de les “map, select, reject” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Ruby Academy, waaronder “map, select, reject”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Ruby Academy bevat in totaal 4 lessen.
Wat leer ik in “map, select, reject”?
Transformeren en filteren Je oefent met Ruby Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Ruby Academy te beginnen?
Ervaring vooraf is niet nodig. Ruby Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “map, select, reject”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Ruby Academy?
Ja. Elke les over Ruby Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Bereiken maken
- De module Enumerable
- map, select, reject
- reduce en each_with_object