【发布时间】:2017-04-07 02:46:44
【问题描述】:
有没有办法修改特定的数组元素(基于某些条件),同时在 Ruby 中以相反的顺序遍历它?
为了更清楚,让我们说,
问题是用 x 替换 [1,2,3,4,5] 中的偶数
输出应该是 [1,x,3,x,5](相同的数组),但替换应该从右到左发生..从 5 到 1 遍历。
提前致谢!
这有效:(arr.length -1).downto(0) { |x|用 arr[x] }
做点什么【问题讨论】:
-
你的意思是收藏!但反过来呢?
-
是的,我注意到了这张地图,从左到右收集工作,因为它们又依赖于每个,但我想从右到左修改..我只想知道是否有任何现有的方法来做到这一点,而不是编写自定义代码。遍历我们有 reverse_each 但找不到任何要修改的东西:(
-
你有什么理由不能只使用
my_array.reverse.map{}吗?如果您想再次将其放回原处,只需在末尾添加另一个.reverse -
但您不想保留输出,对吧?只有遍历顺序必须相反?并且您希望更新始终到位?
-
@Isotope reverse 是我想避免的额外性能开销。
标签: ruby arrays reverse traversal