有没有一种更优雅的方式在Ruby中编写不知道数组大小的while循环?

12

使用以下示例:

array = [1,20]

new_array = []
i = array[0]


while i < array[1]
  new_array.push(i)
  i+= 2
end

#new_array = [1,3,5,7,9,11,13,15,17,19]

是否有一种更优雅的方式编写此循环,而无需编写空数组(new_array)和外部变量循环计数器(i)?我一直在想一些事情,new_array.map{|x| }但是并没有遍历每个元素,而是不断增加一个数字,直到达到某个极限。

萨拉·蒂贝兹(Sara Tibbetts)

假设您的目标是创建一个最大为奇数的数组,则可以将范围与步长配合使用。

limit = 20 
array = (1..limit).step(2).to_a 

编辑

如果您希望既能下降又能上升,可以使用step

#Ascending 
start = 1 
limit = 20 

array = start.step(limit, 2).to_a

#Descending 
start = 20 
limit = 1 

array = start.step(limit, -2).to_a

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有一种更优雅的方式来代替编写大量查询?

有没有一种方法可以更优雅地编写此“ if”列表?

是否有一种更优雅的方式来使用“ while循环”而不必先在“ while循环”之外定义变量?

有没有一种方法可以选择不知道其父类或ID的父div?

在Julia中,有没有一种优雅的方式可以做到“不在”?

有没有更优雅的方式在Kotlin中编写此吸气剂?

有没有更优雅的方式?

有没有一种更Python化的方式来编写修改列表的循环?

有没有更优雅的方式在C#中嵌套数组?

在nodeJs中,有没有一种方法可以循环使用数组而不使用数组大小?

有没有一种方法可以给一个仅具有名称的列表赋予函数,而又不知道列表的类型?

有没有一种优雅的方式可以在打字稿中包含值对象?

有没有一种优雅的Python方式来计数已处理数据?

有没有一种优雅的方式来定义关系?

在Scala中有没有一种优雅的方式可以处理Monad?

有没有一种简单的方法可以从网络应用程序通过IP地址发送数据包(不知道MAC)?

有没有一种方法可以在不知道系数的情况下在Python中生成B样条函数?

有没有一种方法可以测试Google数据供稿?不知道如何处理这些错误

有没有一种方法可以在Rust中导入模块,而不知道其目录名?

有没有更优雅的方式来编写这个 If/or 条件?

有没有一种更快的方式可以更改数组中的多个元素?

有没有一种优雅的方法可以将结构简化为简单的数组?

有没有更优雅的方式来写这些条件?

有没有更优雅的方法可以在Swift中编写这种惰性加载模式?

有没有一种“流畅”的方式来编写进度条?

rebol/red:有没有一种优雅的方法来知道它是否是 foreach 中的最后一项?

有没有一种优雅的方式将当前目录中的所有子目录移动到一个新的子目录?

有没有更好或更优雅的方法来处理python中的字典循环异常?

有没有一种Ruby方式可以删除初始化程序中的样板代码?