Ruby 可枚举循环是如何工作的?(红宝石)

Ruby 可枚举循环是如何工作的?(红宝石),ruby,enumerable,Ruby,Enumerable,我能找到下一个吗?我的意思是,如果我能在任何给定时间获得任何特定元素的.next。不仅仅是以第一个元素开始的显示循环 更新 当然,我在发帖之前已经看过ruby了。但我没有找到答案 更新2 输入 活套=(0..max_循环)。循环 max\u cycle=每次脚本运行时都可能不同的变量 looper=始终从间隔(0..max_cycle)开始的变量,但脚本启动时的当前值可以是任意值。它基于时间.now.hour 输出 我想知道。接下来在脚本运行期间的任何时候活套的值您的问题不是很清楚。也许你想要这

我能找到下一个吗?我的意思是,如果我能在任何给定时间获得任何特定元素的
.next
。不仅仅是以第一个元素开始的显示循环

更新 当然,我在发帖之前已经看过ruby了。但我没有找到答案

更新2 输入

活套=(0..max_循环)。循环

max\u cycle
=每次脚本运行时都可能不同的变量

looper
=始终从间隔(0..max_cycle)开始的变量,但脚本启动时的当前值可以是任意值。它基于
时间.now.hour

输出


我想知道
。接下来
在脚本运行期间的任何时候
活套的值

您的问题不是很清楚。也许你想要这样的东西

looper = (0..3).cycle
20.times { puts looper.next }
例如,如果
max_cycle=3
,您将获得以下输出:

(current_value + 1) % (max_cycle + 1)

你的问题不是很清楚。也许你想要这样的东西

looper = (0..3).cycle
20.times { puts looper.next }
例如,如果
max_cycle=3
,您将获得以下输出:

(current_value + 1) % (max_cycle + 1)

当然,我在发帖之前浏览了ruby doc。但我并没有在那个里找到答案……当然,在发布我的问题之前,我浏览了ruby doc。但我没有找到答案…这里的问题到底是什么?你期望的输入和输出是什么?是的,我想我不是很清楚。请参阅更新2更新只是说您阅读了文档。这并没有澄清你的问题…@Jimmy Cuadra:Update2还没有出现。对不起,这里的问题到底是什么?你期望的输入和输出是什么?是的,我想我不是很清楚。请参阅更新2更新只是说您阅读了文档。这并没有澄清你的问题…@Jimmy Cuadra:Update2还没有出现。很抱歉。@Teoulas::-)这就是我想要的。我可以用可枚举的循环吗?@Radek,我不这么认为。可枚举对象用于迭代一组值/对象。在您的情况下,您只需要范围的第一个和最后一个数字。如果你坚持调用一个方法,你可以在ruby的范围内添加一个。例如(0..3)。下一步用包裹(2)=>3我什么都不坚持。我正在寻找最好的解决方案,并在途中学习。。。我写了一个方法,但我认为一定有比枚举循环更简单的方法。我想我可以用它。就这样。你的解决方案比我的方法好得多。我对此感到高兴。感谢you@Teoulas:-)这就是我想要的。我可以用可枚举的循环吗?@Radek,我不这么认为。可枚举对象用于迭代一组值/对象。在您的情况下,您只需要范围的第一个和最后一个数字。如果你坚持调用一个方法,你可以在ruby的范围内添加一个。例如(0..3)。下一步用包裹(2)=>3我什么都不坚持。我正在寻找最好的解决方案,并在途中学习。。。我写了一个方法,但我认为一定有比枚举循环更简单的方法。我想我可以用它。就这样。你的解决方案比我的方法好得多。我对此感到高兴。非常感谢。