gpt4 book ai didi

ruby-on-rails - 如果函数调用返回某些东西,Ruby/Rails 返回结果

转载 作者:行者123 更新时间:2023-12-04 07:15:25 26 4
gpt4 key购买 nike

如果这是初学者水平,请原谅我。我正在寻找一种更简洁的方式来做这样的事情,

def function
return Books.all if Books.any?

return BooksForeign.all if BooksForeign.any?

nil
end

由于我基本上是在重复调用,所以我想知道是否有一种简单且更好的方法来执行此操作。如果使用 Books 方法或 BooksForeign 方法返回任何内容,我只想返回,因为期望返回的方法不关心它是否是外国书籍。

最佳答案

def function
Books.all.presence || BooksForeign.all.presence
end

Object#presence 是 ActiveSupport 对 Ruby 更有用的核心扩展之一。如果 present? 则返回对象,否则返回 nil。 不存在空集合?

如果你有一个完整的类列表,你可以使用 Enumerable#find这将返回第一个非假值:

[Foo, Bar, Baz].find { |klass| klass.all.presence }

关于ruby-on-rails - 如果函数调用返回某些东西,Ruby/Rails 返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68800622/

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