ruby - 循环遍历数组,同时将数据添加到字符串并最终返回它,这是一种更快的方法吗?

标签 ruby string

通过循环获取客户的to_s方法

是否有 Ruby 惯用语可以在 1 行(或少于 3 行代码)中编写代码?

def method
  string = ""
  @customers.each { |customer| string += customer.to_s + "\n" }
  string
end

最佳答案

@customers.join("\n") + "\n"

join 通过在每个还不是字符串的元素上调用 to_s 并将它们插入到由参数分隔的新字符串中来从数组中创建一个字符串 to 加入(在本例中为\n)。由于您的代码还在末尾添加了 \n (而 join 没有),因此您需要在 + "\n" 之后添加调用 join 以获得相同的行为。

关于ruby - 循环遍历数组,同时将数据添加到字符串并最终返回它,这是一种更快的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2920071/

相关文章:

ruby-on-rails - 为什么在 Controller 中渲染时调用 current_user?

ruby-on-rails - Rails 4 渲染 json 嵌套对象

ruby - 如何在没有新 key 的情况下合并两个散列

c++ - 用 '%20' 替换字符串中的所有空格 (C++)

c++ - C++中有字符串吗?

java - 如何检查两个字符串是否具有相同的字母,但只打印一次相同的字母?

ruby - 将ruby脚本编译成exe?

带 block 的 ruby​​ 哈希树

c# - 检测并替换字符串中的所有表情符号

php - 将括号之间的内容放入数组中