ตัวอย่าง:
a = [1, 3, 4, 5]
b = [2, 3, 1, 5, 6]
ฉันจะรับค่าสุดท้าย5
ในอาร์เรย์a
หรือค่าสุดท้าย6
ในอาร์เรย์b
โดยไม่ใช้a[3]
และได้b[4]
อย่างไร
ตัวอย่าง:
a = [1, 3, 4, 5]
b = [2, 3, 1, 5, 6]
ฉันจะรับค่าสุดท้าย5
ในอาร์เรย์a
หรือค่าสุดท้าย6
ในอาร์เรย์b
โดยไม่ใช้a[3]
และได้b[4]
อย่างไร
คำตอบ:
ใช้-1
ดัชนี (ดัชนีเชิงลบนับย้อนหลังจากท้ายอาร์เรย์):
a[-1] # => 5
b[-1] # => 6
หรือArray#last
วิธีการ:
a.last # => 5
b.last # => 6
a.last = 10 #=> NoMethodError: undefined method last='
แต่ a[-1] = 10
ทำงานได้ตามที่ตั้งใจไว้
อีกวิธีหนึ่งโดยใช้ตัวดำเนินการ Splat:
*a, last = [1, 3, 4, 5]
STDOUT:
a: [1, 3, 4]
last: 5
Array#last
ด้วย :)[1,2,3].last #=> 3