有没有办法循环通过特定的数组?
例如,user.org_names
返回:
["NEW", "Gold", "HEALTH SPRING"] ["Text Illinois"] ["Star Gold"] ["NEW", "Star Gold"] ["NEW", "Star Gold", "HEALTH SPRING"] ["Star Gold"] ["Star Gold"] ["Text Illinois", "Star Text", "Star Gold"] ["Text Illinois", "HEALTH SPRING"] ["NEW", "Star Gold", "Star Text"]
现在,我想只遍历第四个数组["NEW", "Star Gold"]
。
这是Ruby的可能性吗?我找不到这样的功能。
答案 0 :(得分:3)
您可以使用索引作为参数的基本数组表示法[]
来获取值:
user.org_names[3] # get the 4th element of the array returned
# returns nil if does not exists
在你的情况下,如果你想循环第四个元素:
fourth_element = user.org_names[3]
fourth_element.each do |element|
# use element
end if fourth_element.present?
此行为与:
相同fourth_element = user.org_names[3]
if fourth_element.present?
fourth_element.each do |element|
# use element
end
end
if
之后 end
1.9.3p489 :006 > [1,2,3].each do |n|
1.9.3p489 :007 > puts n
1.9.3p489 :008?> end if false
=> nil
基本上与做:
相同[1,2,3].each{ |n| puts n } if false
但使用do/end
语法和多行
答案 1 :(得分:0)
你可以这样做
user.org_names[3].each do |element|
puts element
end
答案 2 :(得分:0)
如果这是一个数组数组,也许你可以得到数组的第四个元素(user.org_names[3]
)并像这样循环遍历它:
<% i = 0 %>
<% user.org_names[3].each do |a| %>
<% a[i] %>
<% i+=1 %>
<% end %>