มอดูล Enumerable
ความสามารถร่วมสำหรับคอลเลกชัน
มอดูล Enumerable เป็นบทเรียน Ruby Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ruby Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน
Enumerable คืออะไร
การแจกแจง คือโมดูลที่มอบเมธอดทรงพลังชุดเดียวกันให้คอลเลกชันต่าง ๆ เช่น อาร์เรย์ แฮช และช่วง คลาสใดก็ตามที่มี each ก็สามารถผนวกโมดูลนี้ได้
puts [1, 2, 3].is_a?(Enumerable)
puts (1..3).is_a?(Enumerable)การตรวจสอบการมีค่าและการเป็นสมาชิก
include? ใช้ตรวจสอบว่าคอลเลกชันมีค่านั้นอยู่หรือไม่
nums = [10, 20, 30]
puts nums.include?(20)
puts (1..5).include?(3)การนับ
count คืนค่าขนาดของคอลเลกชัน หรือเมื่อใช้ร่วมกับบล็อก จะนับสมาชิกที่ตรงเงื่อนไข
nums = [1, 2, 3, 4]
puts nums.count
puts nums.count { |n| n.even? }ค่าต่ำสุด ค่าสูงสุด และค่าทั้งสอง
ค้นหาค่าขอบเขตด้วย min หรือ max หรือค้นหาทั้งสองค่าพร้อมกันด้วย minmax
nums = [4, 1, 7, 3]
puts nums.min
puts nums.max
puts nums.minmax.inspectผลรวม
sum จะบวกสมาชิกทั้งหมดเข้าด้วยกัน คุณสามารถส่งค่าเริ่มต้นเข้าไปได้
puts [1, 2, 3].sum
puts [1, 2, 3].sum(100)การเรียงลำดับและการเรียงลำดับตามค่า
sort เรียงลำดับสมาชิก ส่วน sort_by เรียงลำดับตามคีย์ที่คำนวณได้
words = ["pear", "a", "fig"]
puts words.sort.inspect
puts words.sort_by { |w| w.length }.inspectมีสมาชิกใดและสมาชิกทั้งหมด
any? ให้ค่าเป็นจริงเมื่อมีสมาชิกอย่างน้อยหนึ่งรายการตรงเงื่อนไข ส่วน all? ให้ค่าเป็นจริงต่อเมื่อสมาชิกทุกรายการตรงเงื่อนไข
nums = [2, 4, 6]
puts nums.all? { |n| n.even? }
puts nums.any? { |n| n > 5 }ไม่มีสมาชิกและการค้นหา
none? ให้ค่าเป็นจริงเมื่อไม่มีสิ่งใดตรงเงื่อนไข ส่วน find (ชื่อพ้องคือ detect) จะคืนค่าสมาชิกแรกที่ตรงเงื่อนไข
nums = [1, 3, 5]
puts nums.none? { |n| n.even? }
puts nums.find { |n| n > 2 }first และการหยิบสมาชิก
first ดึงสมาชิกแรกหรือสมาชิกต้น ๆ ส่วน take จะหยิบสมาชิกตามจำนวนจากด้านหน้า และ drop จะข้ามสมาชิกเหล่านั้น
nums = [10, 20, 30, 40]
puts nums.first(2).inspect
puts nums.drop(2).inspectการจัดกลุ่ม
group_by สร้างแฮชที่จัดสมาชิกลงกลุ่มตามผลลัพธ์ของบล็อก
nums = [1, 2, 3, 4, 5]
groups = nums.group_by { |n| n.even? ? :even : :odd }
puts groupsการวนซ้ำพร้อมตำแหน่ง
each_with_index จะส่งทั้งสมาชิกและตำแหน่งของสมาชิกออกมา
%w[a b c].each_with_index do |item, i|
puts "#{i}: #{item}"
endตรวจสอบความเข้าใจ
ตรวจสอบความรู้เรื่อง Enumerable ของคุณ
สรุป
Enumerable เพิ่มความสามารถให้คอลเลกชันอย่างมาก:
include?,count,min/max,sumsort/sort_by,any?/all?/none?find,first/take/dropgroup_by,each_with_index
ถัดไป: เรียนรู้ map, select และ reject อย่างละเอียด
puts [3, 1, 2].sort.inspectคำถามที่พบบ่อย
บทเรียน “มอดูล Enumerable” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “มอดูล Enumerable” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ruby Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “มอดูล Enumerable”
ความสามารถร่วมสำหรับคอลเลกชัน คุณปฏิบัติ Ruby Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ruby Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ruby Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “มอดูล Enumerable” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ruby Academy นี้ได้ไหม
ได้ บทเรียน Ruby Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การสร้างช่วง
- มอดูล Enumerable
- map, select, reject
- reduce และ each_with_object