加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 迭代时添加到数组

发布时间:2020-12-16 21:48:43 所属栏目:百科 来源:网络整理
导读:为什么这段代码’锁定’ruby?什么是超越它的最佳方式?我发布了下面的解决方案.还有另一种方法吗?提前致谢! 码: nums = [1,2,3] nums.each { |i| nums i + 1 } 我的解决方案 nums = [1,3]adjustments = []nums.each { |i| adjustments i + 1 }nums += ad
为什么这段代码’锁定’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 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读