是否有一种快速的 Ruby 或 Rails 方法可以根据块中提供的条件从数组中删除一个元素,然后返回该元素?
假设:
e1.good? # false
e2.good? # true
e3.good? # true
a = [e1, e2, e3]
是否有方法 delete_and_return_if 这样做:
a.delete_and_return_if { |e| e.good? } # delete e2 from a and returns e2
[e1].delete_and_return_if { |e| e.good? } # returns nil
或者至少有一种干净的方法可以做到这一点?