当前位置 : 主页 > 编程语言 > ruby >

我怎么能写一个条件:每个在ruby中更简洁?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我不确定如何在 ruby中更干净地编写这段代码?唯一不同的是迭代器. if items.respond_to?(:find_each) items.find_each do |item| output_item(csv, item) end else items.each do |item| output_item(csv, item) end end 您可以
我不确定如何在 ruby中更干净地编写这段代码?唯一不同的是迭代器.

if items.respond_to?(:find_each)
    items.find_each do |item|
      output_item(csv, item)
    end
  else
    items.each do |item|
      output_item(csv, item)
    end
  end
您可以使用 Object#send动态调用方法:

method = items.respond_to?(:find_each) ? :find_each : :each
items.send(method) do |item|
  output_item(csv, item)
end
网友评论