0Pricing
Ruby Academy · บทเรียน

มอดูล 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, sum
  • sort/sort_by, any?/all?/none?
  • find, first/take/drop
  • group_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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การสร้างช่วง
  2. มอดูล Enumerable
  3. map, select, reject
  4. reduce และ each_with_object
← กลับไปที่ Ruby Academy