ruby-on-rails - 根据匹配条件替换数组元素的优雅方法是什么?

标签 ruby-on-rails ruby

我正在使用以下逻辑根据条件更新列表项。

def update_orders_list(order)
  @orders.delete_if{|o| o.id == order.id}
  @orders << order
end

理想情况下,我更喜欢这些方法:

array.find_and_replace(obj) { |o| conditon }

idx = array.find_index_of { |o| condition }
array[idx] = obj

有没有更好的办法?

最佳答案

array.map { |o| if condition(o) then obj else o }

也许吧?

关于ruby-on-rails - 根据匹配条件替换数组元素的优雅方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3720211/

相关文章:

ruby-on-rails - 让 Rails 2.3.x 忽略 i18n gem

ruby-on-rails - Rails 辅助方法 :attribute_changed? 在 Rails 3.2.15 中如何工作?

ruby-on-rails - 如何从 Rails 应用程序调用 Apple App Store 服务器?

ruby-on-rails - 如何使用 dotenv 将环境变量添加到 ruby​​ on Rails 应用程序?

ruby - 无法使套接字接受非阻塞 ruby​​ 2.2

ruby-on-rails - 如何在redis中创建数据库(key_space)

java - 在 Stripe 中以编程方式创建优惠券代码

ruby - 如何调用对象的自定义方法?

ruby - 自动上传 xmodem 文件

ruby - 通过从 matlab : translation from ruby 发送 DOI 从 crossref 检索 bibtex 数据