ตัวอย่างการใช้งาน array
x = [] #=> สร้าง arry ว่างๆ y = Array.new #=> สร้าง array ว่างๆ อีกอัน a = ['neo', 'trinity', 'tank'] #=> สร้าง array ขนาดเท่ากับ 3
Array เริ่มต้นที่ 0
a[0] #=> neo a[1] #=> trinity
ดูขนาดของ Array จากคำสั่ง length และ size (คือคำสั่งเดียวกัน)
puts(a.length) #=> 3 puts(a.size) #=> 3
เราสามารถเพิ่มข้อมูลใน array ได้ตลอด
a[3] = 'morphieus'
ถ้าเติมค่าให้ array เลยตำแหน่งสุดท้าย ค่าของ size จะขยายออกไปทันที
a[6] = 'keymaker' a.size #=> 7
ได้ค่าของ array a คือ
a = ['neo', 'trinity', 'tank', 'morphieus', nil, nil, 'keymaker']
อีกวิธีในการเพิ่มค่าให้ array คือใช้เครื่องหมาย <<
a << ‘mouse’
ค่า mouse จะไปต่อท้าย a ไม่ว่าตัวแปลสุดท้ายของ a จะเป็น nil ก็ตาม
array ใน ruby มีคำสั่ง sort และ reverse ในตัวเอง
a = [77, 10,120, 3] a.sort # return => [3, 10, 77, 120] a = [1, 2, 3] a.reverse # return => [3, 2, 1]
สำคัญว่าคำสั่งทั้งสองไม่ได้ sort หรือ reverse ค่าใน array a เลย ทำแค่ return array ใหม่เท่านั้น ถ้าต้องการให้ a เปลี่ยนค่าไปจริงๆ ต้องเรียก method ชื่อ sort! และ reverse!
a = [77, 10,120, 3] a.sort! # a => [3, 10, 77, 120] a = [1, 2, 3] a.reverse! # a => [3, 2, 1]
เครื่องหมาย “!” เป็นที่รู้กันในคนเขียน ruby ว่าหมายถึงการเตือนว่า method นั้นจะเปลี่ยนค่า object นั้นไปด้วย เหมือนเครื่องหมาย “?” ที่หมายถึงการถามเพื่อให้ method นั้นตอบเป็น true/false
(คนเขียน java คงคุ้นกับ “is” เราใช้เหมือน “?” ใน ruby ครับ)