我有一组颜色代码:
array = %w(#646C74 #F68848 #1FA45C etc...)
每次查询数组时,我都会与上次使用的颜色进行比较,并希望获得下一个。如果最后使用的是数组中的最后一个,我想要第一个。
有没有比以下更专门或更简洁的方法来解决这个问题:
index_of_last_used_color = array.index(last_used_color)
next_position = index_of_last_used_color + 1
if color = array[next_position]
return color
else
return array.first
end
最佳答案
使用 cycle
方法,枚举器似乎就是您要找的东西。
color_cycle = %w(#646C74 #F68848 #1FA45C).cycle
color_cycle.next # => "#646C74"
color_cycle.next # => "#F68848"
color_cycle.next # => "#1FA45C"
color_cycle.next # => "#646C74"
color_cycle.next # => "#F68848"
关于arrays - 如何获取数组中的下一个元素但如果当前是最后一个则获取第一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44154770/