ruby - 使用 "each do"输出一个列表,如何跳过最后一个逗号?

标签 ruby

Ruby 初学者:

使用输出列表

each do

当我打印列表时,它迭代 puts","的次数与列表相同,因为这就是我告诉它要做的。我如何告诉它不要最后一次输入逗号/跳过最后一个逗号并改为输入问号?示例代码如下:


contacts = {
    "Freddy" => {
    "phone" => 666,
    "tiktok" => "asdf",
    "instagram" => "def",
    "email" => "in.your@dreams"
  }
}
name = "Freddy"

print "We know these things about #{name}:"
    contacts[name].each do |key, value|
        print " #{key}"
        print "," 
    end
    print "?\n" 

期望的输出是: 我们知道关于 Freddy 的这些事情:电话、tictok、instagram、电子邮件?

不是

我们知道关于 Freddy 的这些事情:电话、tictok、instagram、电子邮件,? (去掉最后一个逗号)

最佳答案

我倾向于使用 string 来形成完整的字符串 插值然后put-s它:

puts "We know know these things about %s: %s?" %
  [name, contacts[name].keys.join(', ')]

显示

We know know these things about Freddy: phone, tiktok, instagram, email? 

参见 Kernel#sprintf用于字符串格式化指令。

关于ruby - 使用 "each do"输出一个列表,如何跳过最后一个逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64093867/

相关文章:

ruby-on-rails - 从 Ruby 中的哈希数组生成 HTML 表

Ruby - 通过 gsub 和 regexp 替换字符串

ruby-on-rails - 无法通过 Homebrew 启动 elasticsearch 服务器

ruby-on-rails - 操作邮件程序中的默认 url 不工作

ruby - 如何在 Ruby 中将 Strftime 转换为字符串?

ruby - 使用 STDIN.gets 时的多行输入问题

Ruby Savon Gem 更改日志记录配置

ruby-on-rails - Rails 3 respond_with : show "show" layout on resource creation

ruby-on-rails - 无法测试应该属于_to,在 Rails 上缺少 id 外键

ruby - 在 IRB 中,我可以查看我之前定义的方法的源代码吗?