gpt4 book ai didi

ruby - Ruby 哈希是否有类似 `reject!` 的方法返回匹配项?

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

Ruby 哈希是否有类似 reject! 的方法返回匹配项并在哈希中只留下不匹配项?例如:

planets = {'Mars' => 2, 'Jupiter' => 63, 'Saturn' => 47}

few_moons = planets.some_method! do |planet, moon_count|
moon_count < 50
end

few_moons #=> {'Mars' => 2, 'Saturn' => 47}
planets #=> {'Jupiter' => 63}

reject! 返回原始散列,减去被拒绝的项目。 partition 很接近,但它返回元组数组,而不是散列,并且不修改原始散列。

我在文档中没有看到类似的内容,想在自己动手之前四处询问。

最佳答案

few_moons, many_moons = 
planets.partition { |planet, moon_count| moon_count < 50 } \
.map{ |v| Hash[v] }

关于ruby - Ruby 哈希是否有类似 `reject!` 的方法返回匹配项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10198233/

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