gpt4 book ai didi

ruby - 我如何重构调用不同函数但对它们的响应执行相同操作的 ruby​​ 代码?

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

这是我要重构的方法。重构此代码的好方法是什么?有没有什么方法可以将方法调用放在一个列表中,并在其中一个方法返回有效响应后立即返回?

  def method
response_hash = method1
return response_hash if response_hash.present?

response_hash = method2
return response_hash if response_hash.present?

response_hash = method3
return response_hash if response_hash.present?

response_hash = method4
return response_hash if response_hash.present?
end

最佳答案

似乎您想返回第一个非空结果。

def my_method
[:method1, :method2, :method3, :method4].each do |method_name|
result = send(method_name)
return result if result.present?
end
end

Symbols/send 在这里保持评估的惰性(不要评估超过必要的)

关于ruby - 我如何重构调用不同函数但对它们的响应执行相同操作的 ruby​​ 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31389995/

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