จะรับองค์ประกอบสุดท้ายของอาร์เรย์ใน Ruby ได้อย่างไร?


95

ตัวอย่าง:

a = [1, 3, 4, 5]
b = [2, 3, 1, 5, 6]

ฉันจะรับค่าสุดท้าย5ในอาร์เรย์aหรือค่าสุดท้าย6ในอาร์เรย์bโดยไม่ใช้a[3]และได้b[4]อย่างไร

คำตอบ:


207

ใช้-1ดัชนี (ดัชนีเชิงลบนับย้อนหลังจากท้ายอาร์เรย์):

a[-1] # => 5
b[-1] # => 6

หรือArray#lastวิธีการ:

a.last # => 5
b.last # => 6

23
อย่าลืมความสะดวกArray#lastด้วย :)[1,2,3].last #=> 3
Lee Jarvis

14
@theTinMan เนื่องจากป๊อปยังปรับเปลี่ยนอาร์เรย์จึงไม่ใช่สิ่งที่ขอที่นี่
sepp2k

ขอบคุณสำหรับตัวเลือกเครื่องหมาย -ve มันยอดเยี่ยมมาก
vidur punj

8
นอกจากนี้ในขณะที่ a.last = 10 #=> NoMethodError: undefined method last=' แต่ a[-1] = 10ทำงานได้ตามที่ตั้งใจไว้
GregPK

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.