Ruby中如何编写简洁的条件判断语句?
- 内容介绍
- 文章标签
- 相关推荐
本文共计176个文字,预计阅读时间需要1分钟。
在Ruby中,若要高效地处理大量数据,可以使用迭代器来避免一次性加载所有数据到内存中。以下是一个简化的代码示例,展示如何使用`find_each`和`each`方法来处理数据:
ruby判断items是否响应find_each方法if 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
本文共计176个文字,预计阅读时间需要1分钟。
在Ruby中,若要高效地处理大量数据,可以使用迭代器来避免一次性加载所有数据到内存中。以下是一个简化的代码示例,展示如何使用`find_each`和`each`方法来处理数据:
ruby判断items是否响应find_each方法if 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

