gpt4 book ai didi

ruby - 使用 block 查找匹配条件的值

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:21 25 4
gpt4 key购买 nike

对我来说这很有意义:

triple = dice.collect {|value| if (dice.count(value) >= 3)} ---> Syntax error

triple = dice.collect {|value| dice.count(value) >= 3} ----> Array of true/false

我想要数字的值,而不是 dice.count() 的真假。我知道必须有一种简单的方法可以做到这一点。

最佳答案

听起来你想要Array#select , 不是 Array#collect (也称为 Array#map )。

collect/map 将获取每个 value 并将 block 的结果放入数组中。这就是为什么您会看到一系列 true/false。

select 将获取每个 value,如果该 block 的计算结果为 true,则将其作为数组成员返回:

triple = dice.select{ |value| dice.count(value) >= 3 }

关于ruby - 使用 block 查找匹配条件的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6002752/

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