2012-04-20 50 views
7

Tôi có một mảng trong Rails của tôi 3.1 ứng dụng đã được thực hiện bởi một số đối tượng:Remove phần tử từ mảng

[#<Hardware id: 10, brand_id: 5, model: "B4200", description: "Stampante OKI B4200", typology_id: 3, sub_typology_id: 10, created_at: nil, updated_at: nil>, #<Hardware id: 19, brand_id: 9, model: "JetLab", description: "JetLab - 600 ", typology_id: 5, sub_typology_id: nil, created_at: nil, updated_at: nil>] 

và tôi muốn loại bỏ một đối tượng từ mảng này. Sử dụng giao diện điều khiển Rails, tôi đã cố thực hiện một số việc như (cố gắng loại bỏ đối tượng đầu tiên):

array.pop=#<Hardware id: 10, brand_id: 5, model: "B4200", description: "Stampante OKI B4200", typology_id: 3, sub_typology_id: 10, created_at: nil, updated_at: nil> 

nhưng nó không hoạt động. Tôi có thể làm cái này như thế nào?

CẬP NHẬT: Mục tiêu của tôi không phải là bật phần tử cuối cùng trên mảng, mà là đối tượng chung (ở khắp mọi nơi bên trong mảng) mà tôi nên tìm bằng truy vấn tìm kiếm mysql.

+0

sử dụng 'Mảng # shift' để loại bỏ yếu tố đầu tiên. 'Array # pop' loại bỏ phần tử cuối cùng. 'first = your_array.shift' –

+1

Bạn đang cố gắng loại bỏ một phần tử tại một vị trí cụ thể (đầu tiên/cuối), hoặc cố gắng loại bỏ một đối tượng cụ thể có thể ở bất kỳ đâu trong mảng (ví dụ' # ')? –

+0

ở bất kỳ đâu trong mảng – Marco

Trả lời

9
my_array = [ 1, 2, 3 ] 

item = my_array.pop 

puts item 
# => 3 

puts my_array 
# => [ 1, 2 ] 
Các vấn đề liên quan