如何编写Ruby代码,使其条件语句更简洁高效?
- 内容介绍
- 文章标签
- 相关推荐
本文共计169个文字,预计阅读时间需要1分钟。
在Ruby中,若要更高效地处理大量数据,可以使用迭代器来逐个处理数据项,而不是一次性加载所有数据到内存中。以下是一个简化的代码示例:
rubyif items.respond_to?(:find_each) items.find_each do |item| output_item(csv, item) endelse items.each do |item| output_item(csv, item) endend
我不确定如何在 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
本文共计169个文字,预计阅读时间需要1分钟。
在Ruby中,若要更高效地处理大量数据,可以使用迭代器来逐个处理数据项,而不是一次性加载所有数据到内存中。以下是一个简化的代码示例:
rubyif items.respond_to?(:find_each) items.find_each do |item| output_item(csv, item) endelse items.each do |item| output_item(csv, item) endend
我不确定如何在 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

