ruby – 迭代时添加到数组

前端之家收集整理的这篇文章主要介绍了ruby – 迭代时添加到数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么这段代码’锁定’ruby?什么是超越它的最佳方式?我发布了下面的解决方案.还有另一种方法吗?提前致谢!

码:

nums = [1,2,3] 
nums.each { |i| nums << i + 1 }

我的解决方

nums = [1,3]
adjustments = []
nums.each { |i| adjustments << i + 1 }
nums += adjustments

解决方法

那是因为每个人都使用一个枚举器(所以如果你继续添加它就永远不会到达终点).

您可以在应用每个数组之前复制数组.

nums = [1,3] 
nums.dup.each { |i| nums << i + 1 }

另一种方法是追加map给出的额外元素:

nums = [1,3] 
nums += nums.map { |i|  i + 1 }

猜你在找的Ruby相关文章