gpt4 book ai didi

Ruby - 根据某些条件从数组中选择修改后的值

转载 作者:数据小太阳 更新时间:2023-10-29 08:48:05 24 4
gpt4 key购买 nike

我知道 select、collect 和 map 在 Ruby 中是如何工作的。我只是想知道是否有类似的原生 Ruby 方法 可以组合它们并在一次迭代中给出结果而无需从数组中删除 nil?

例如

(1..10).map { |x| x*3 if x.even? }.compact
(1..10).select { |x| x.even? }.map{ |x| x*3 }
(1..10).select { |x| x.even? }.collect{ |x| x*3 }

都给出相同的结果,即 [6, 12, 18, 24, 30]。但是是否有“some_method”给出相同的结果?

(1..10).some_method { |x| x*3 if x.even? }  ## evaluates to [6, 12, 18, 24, 30]

最佳答案

Enumerable#each_with_object

(1..10).each_with_object([]) { |x,arr| arr.push(x*3) if x.even? }  ## evaluates to [6, 12, 18, 24, 30]

关于Ruby - 根据某些条件从数组中选择修改后的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21340439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com