gpt4 book ai didi

ruby - 我们有 'index' 和 'rindex' ,我们有 'find' 但没有 'rfind'

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

当应用于数组时,index(用 block 调用)返回满足条件的第一个元素的索引,rindex 返回最后一个元素的索引.同样,我们有 find 来返回元素本身。但是,没有相应的 rfind 会返回满足条件的数组的最后一个元素。

Ruby 是否已经有实现此目的的方法?

在对 Array 类进行猴子修补之前,我想确定一下。

最佳答案

你可以这样做:

enum = [1, 2, 3, 4].reverse_each
# => #<Enumerator: [1, 2, 3, 4]:reverse_each>

enum.find(&:odd?)
# => 3

请注意,与使用 Array#reverse 不同,它不会创建立即丢弃的时间数组。

立即执行:

[1, 2, 3, 4].reverse_each.find(&:odd?)
# => 3

换句话说,我们有 reverse_each.find 而不是 rfind;没什么大不了的。

关于ruby - 我们有 'index' 和 'rindex' ,我们有 'find' 但没有 'rfind',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45838083/

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