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/