从Ruby中的字符串中删除最后2个字符?

Tom*_*man 13 ruby ruby-on-rails

我正在收集所有用户的电子邮件地址,如下所示:

def self.all_email_addresses
  output = ''
  User.all.each{|u| output += u.email + ", " }
      output
end
Run Code Online (Sandbox Code Playgroud)

但是,我最终在电子邮件地址字符串上添加了一个",".

我怎样才能摆脱这个/有更好的方法来获得逗号分隔的电子邮件地址列表?

Dig*_*oss 28

删除最后两个字符

str.chop.chop # ...or...
str[0..-3]
Run Code Online (Sandbox Code Playgroud)

虽然这确实回答了确切的问题,但我同意这不是解决问题的最佳方法.

  • 是.但要小心使用,每个印章都是一个全新的字符串. (3认同)

gio*_*ian 26

使用加入:

def self.all_email_addresses
  User.all.collect {|u| u.email}.join ', '
end
Run Code Online (Sandbox Code Playgroud)


ony*_*rev 12

或者只是"yadayada"[0 ..- 3]会这样做.