gpt4 book ai didi

ruby - 如何在 Ruby 中创建可重用的 block /proc/lambda?

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

我想创建一个过滤器,并能够将其应用于数组或散列。例如:

def isodd(i)
i % 2 == 1
end

我希望能够像这样使用它:

x = [1,2,3,4]
puts x.select(isodd)
x.delete_if(isodd)
puts x

这看起来应该是直截了当的,但我不知道我需要做什么才能让它发挥作用。

最佳答案

创建一个 lambda,然后使用 & 运算符转换为 block :

isodd = lambda { |i| i % 2 == 1 }
[1,2,3,4].select(&isodd)

关于ruby - 如何在 Ruby 中创建可重用的 block /proc/lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1347570/

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