gpt4 book ai didi

ruby - 如何避免调用两次产生 block 的方法?

转载 作者:太空宇宙 更新时间:2023-11-03 16:51:59 24 4
gpt4 key购买 nike

我正在调用第三方 API,它产生一个 block 并返回一个数组:

my.api.all arg: value do |ret|
#block
end

我想以某种方式调用该方法来获取数组的大小:

array = my.api.all(arg: value)

if array.size > minValue
#avoid calling all again, but how?
my.api.all arg: value do |ret|
#block
end
end

然后我想避免再次调用该方法,但要执行生成的 block 中的代码。

这是否有可能,或者是否有任何方法可以避免两次调用 all 方法?

最佳答案

如何将 block 存储在字符串中并稍后对其进行eval

str = ""

array = my.api.all arg: value do |ret|
str = <<-eos
#code e.g.
puts "block executed with arg: #{ret}"
eos
end

if array.size > minValue
eval str
end

关于ruby - 如何避免调用两次产生 block 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19233756/

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