Enumerator و Enumerable در روبی

ماژول Enumerable، map، select، reduce، group_by، zip و متدهای پیشرفته

Enumerable چیست؟

Enumerable ماژول قدرتمندی است که متدهای پیمایش و فیلتر را فراهم می‌کند. آرایه و هش از آن استفاده می‌کنند.

متدهای پرکاربرد

متدتوضیح
mapتبدیل هر عنصر
selectفیلتر کردن
rejectبرعکس select
reduceتجمیع
findاولین مورد منطبق
group_byگروه‌بندی
partitionدو گروه
zipترکیب دو آرایه
flat_mapmap + 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 متدهای قدرتمندی برای کار با مجموعه‌ها فراهم می‌کند.

این مبحث بخشی از دوره آموزش کامل روبی است.

ابزارهای مرتبط