gpt4 book ai didi

ruby - 检测 Ruby 中是否存在可枚举的内容

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

我有一个方法可以接受单个对象或对象集合。检测传入的内容是否可枚举的正确方法是什么?我目前正在执行以下操作(有效但我不确定这是正确的方法):

def foo(bar)
if bar.respond_to? :map
# loop over it
else
# single object
end
end

最佳答案

我会使用 is_a?

bar.is_a? Enumerable

但是有一个更好的方法来获取单个对象或集合,假设调用者知道他们传入的是哪个对象。使用 splat:

def foo(*args)
args.each do |arg|

end
end

然后您可以将其称为 foo(single_arg)foo(arg1, arg2)foo(*argv)

关于ruby - 检测 Ruby 中是否存在可枚举的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17730060/

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