我觉得这应该很容易,我只是碰壁。
我需要遍历一个数组,直到满足条件。例如:
count = 0
array = ["","","test","demo"]
我想循环遍历此数组递增计数1,直到找到第一个非空值。所以我希望索引值为"test"
,但是当达到"test"
时,我想停止循环。
另外,作为旁注,我怎样才能找到数组中第一个非空值的索引?我想知道这两种方法,因为它们都有潜在的应用。
答案 0 :(得分:6)
你可以同时拥有:)
这会找到第一个非空字符串的索引:
array = ["","","test","demo"]
array.index {|str| !str.empty?}
#=> 2
如果您愿意,可以更新{|str| !str.empty?}
- 块中的计数,因为Array#index
从头到尾循环遍历数组。
仅供参考:index
方法是find_index
答案 1 :(得分:1)
更好地使用:
first_non_empty_index = array.index{ |string| !string.empty? }
答案 2 :(得分:0)
做/同时:
begin
puts arr[count]
count+=1
end while(arr[count].empty?)
puts count #2
puts arr[count] #test