Enumerator و Enumerable در روبی
ماژول Enumerable، map، select، reduce، group_by، zip و متدهای پیشرفته
Enumerable چیست؟
Enumerable ماژول قدرتمندی است که متدهای پیمایش و فیلتر را فراهم میکند. آرایه و هش از آن استفاده میکنند.
متدهای پرکاربرد
| متد | توضیح |
|---|---|
map | تبدیل هر عنصر |
select | فیلتر کردن |
reject | برعکس select |
reduce | تجمیع |
find | اولین مورد منطبق |
group_by | گروهبندی |
partition | دو گروه |
zip | ترکیب دو آرایه |
flat_map | map + flatten |
each_slice | بخشبندی |
each_cons | پنجره متحرک |
tally | شمارش تکرار |
مثالها
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# reduce با accumulator
sum = nums.reduce(0) { |total, n| total + n }
# group_by
grouped = nums.group_by { |n| n % 3 }
# partition
evens, odds = nums.partition(&:even?)
# zip
names = ["علی", "مریم"]
ages = [25, 30]
pairs = names.zip(ages) # => [["علی", 25], ["مریم", 30]]
# each_slice
nums.each_slice(3) { |slice| puts slice.inspect }
# => [1, 2, 3], [4, 5, 6], [7, 8, 9], [10]
خلاصه
Enumerable متدهای قدرتمندی برای کار با مجموعهها فراهم میکند.
این مبحث بخشی از دوره آموزش کامل روبی است.