ruby中格式化字符串的用途是什么

ruby中格式化字符串的用途是什么,ruby,Ruby,我不知道你会在ruby中使用什么格式字符串,有人能向我解释一下吗。在伪代码中感谢: formatter = "%{first} %{second} %{third} %{fourth}" puts formatter % {first: 1, second: 2, third: 3, fourth: 4} puts formatter % {first: "one", second: "two", third: "three", fourth: "four"} puts formatter

我不知道你会在ruby中使用什么格式字符串,有人能向我解释一下吗。在伪代码中感谢

formatter = "%{first} %{second} %{third} %{fourth}"

puts formatter % {first: 1, second: 2, third: 3, fourth: 4}

puts formatter % {first: "one", second: "two", third: "three", fourth: "four"}

puts formatter % {first: true, second: false, third: true, fourth: false}

puts formatter % {first: formatter, second: formatter, third: formatter, fourth: formatter}

puts formatter % {
  first: "I had this thing.",
  second: "That you could type up right.",
  third: "But it didn't sing.",
  fourth: "So I said goodnight."
}

MAIL\u TEMPLATE=您的示例没有使用字符串格式的许多功能,尤其是转换和填充。这不是一个很好的问题。格式字符串在早期Fortran语言中非常常见,用于提供一种方法来调整文本中的列宽和列对齐方式。Ruby并不是孤立地提供它们的,所以搜索“格式字符串”将返回大量描述它们及其值的链接。“”和链接的页面将对您有所帮助。重要的是,
MAIL\u模板
只是一个字符串,可以存储在单独的文件中(除非您想使用
eval
或类似的不愉快内容,否则无法使用
{}
插值)。
MAIL_TEMPLATE = <<-TMPL
Hello, %{name}!

The support for %{product} will be ended at %{date} unless
due to insufficient amount of money on your account %{account}.

The amount to pay to continue using %{product}: %{debt}
TMPL

Storage.all_users.map(&:to_hash).each |user|
  send_email(user.delete[:email], MAIL_TEMPLATE % user) if user[:debt]
end