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

การวนซ้ำแฮช

each, map, select

การวนซ้ำแฮช เป็นบทเรียน Ruby Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ruby Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน

การวนทำซ้ำด้วย each

เมธอด each จะเยี่ยมชมทุกคู่ โดยบล็อกจะได้รับคีย์และค่า

scores = { math: 90, art: 80 }
scores.each do |subject, score|
  puts "#{subject}: #{score}"
end

each_pair

each_pair เป็นชื่ออื่นของ each สำหรับแฮช คุณสามารถใช้แบบใดก็ได้ที่อ่านเข้าใจง่ายกว่า

h = { a: 1, b: 2 }
h.each_pair { |k, v| puts "#{k}=#{v}" }

การวนทำซ้ำเฉพาะคีย์

each_key จะวนผ่านคีย์เมื่อคุณไม่ต้องการค่า

h = { name: "Ada", age: 36 }
h.each_key { |k| puts k }

การวนทำซ้ำเฉพาะค่า

each_value จะวนผ่านค่าโดยตรง

h = { a: 10, b: 20 }
total = 0
h.each_value { |v| total += v }
puts total

การแปลงด้วย map

map ที่ใช้กับแฮชจะคืนอาร์เรย์ โดยแต่ละคู่จะถูกส่งต่อเป็นคีย์และค่า

prices = { pen: 2, book: 5 }
labels = prices.map { |item, p| "#{item}: $#{p}" }
puts labels.inspect

transform_values

transform_values จะคืนแฮชใหม่ที่เปลี่ยนค่าแต่ละค่าแล้ว โดยยังคงคีย์เดิมไว้

prices = { pen: 2, book: 5 }
doubled = prices.transform_values { |p| p * 2 }
puts doubled

transform_keys

transform_keys จะเปลี่ยนคีย์โดยคงค่าเดิมไว้ เหมาะสำหรับการแปลงสตริงเป็นสัญลักษณ์

h = { "a" => 1, "b" => 2 }
puts h.transform_keys(&:to_sym)

การกรองด้วย select

select (ชื่ออื่นคือ filter) จะเก็บคู่ที่บล็อกให้ค่าเป็นจริงและคืนแฮชใหม่

scores = { a: 90, b: 50, c: 70 }
passing = scores.select { |k, v| v >= 70 }
puts passing

การปฏิเสธคู่

reject ทำงานตรงข้ามกับ select โดยตัดคู่ที่บล็อกให้ค่าเป็นจริงออก

scores = { a: 90, b: 50 }
puts scores.reject { |k, v| v < 60 }

การค้นหาและนับ

find จะคืนคู่แรกที่ตรงกันเป็นอาร์เรย์ ส่วน count ที่ใช้ร่วมกับบล็อกจะนับจำนวนการจับคู่

h = { a: 1, b: 2, c: 3 }
puts h.find { |k, v| v == 2 }.inspect
puts h.count { |k, v| v.odd? }

การรวมค่า

ใช้ values ร่วมกับ sum เพื่อหาผลรวม หรือใช้ each_with_object สำหรับการรวมค่าแบบกำหนดเอง

cart = { apple: 3, pear: 5 }
puts cart.values.sum

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ตรวจสอบความเข้าใจเกี่ยวกับการวนทำซ้ำกับแฮชของคุณ

ทบทวน

ตอนนี้คุณสามารถวนทำซ้ำกับแฮชได้แล้ว:

  • each, each_key, each_value
  • map, transform_values, transform_keys
  • select/reject สำหรับกรองข้อมูล
  • find, count และการรวมค่า

ถัดไป: ค่าเริ่มต้นและการรวมแฮช

h = { a: 1, b: 2, c: 3 }
puts h.select { |k, v| v.odd? }

คำถามที่พบบ่อย

บทเรียน “การวนซ้ำแฮช” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การวนซ้ำแฮช” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ruby Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ruby Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การวนซ้ำแฮช”

each, map, select คุณปฏิบัติ Ruby Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ruby Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ruby Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การวนซ้ำแฮช” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ruby Academy นี้ได้ไหม

ได้ บทเรียน Ruby Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. สัญลักษณ์เทียบกับสตริง
  2. การสร้างและอ่านแฮช
  3. การวนซ้ำแฮช
  4. ค่าเริ่มต้นและการผสาน
← กลับไปที่ Ruby Academy