ruby - 创建一个空数组然后用迭代器填充它是惯用的吗?

标签 ruby

假设我想要一个名为 people 的数组,该数组是根据数据库查询构建的。我通常会写

people = Array.new
db.execute("select name from people") {|person| people << person}

工作正常,但我想知道是否有一种方法可以在一行中执行此操作,如果它不存在则创建一个数组然后填充它。

最佳答案

不,这不是惯用语。使用to_a:

people = db.execute("select name from people").to_a

关于ruby - 创建一个空数组然后用迭代器填充它是惯用的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28140947/

相关文章:

ruby-on-rails - rubymine 错误 - 无法在任何来源中找到 capybara-webkit-0.9.0

ruby - 可以调用 Module 的 instance_method 吗?

ruby - 如何访问 Ruby 模块方法

ruby - 替换 ruby 中括号之间的特定字符

ruby - 创建递归目录的优雅方法

ruby net/ssh channel 消失了?

ruby-on-rails - 使用 Ruby 忽略某些字符拆分字符串

ruby - 使用 Jekyll 和 Liquid 标签的 WordPress 的 body_class 功能

ruby - 缓慢的 Ruby DataMapper.setup

ruby-on-rails - 如何获取具有不同值的列名