Pythonでは、次のことができます。
print "Hi! I'm %(name)s, and I'm %(age)d years old." % ({"name":"Brian","age":30})
この動作を再現するための最も近く、最も単純なRubyイディオムは何ですか?(Stringクラスにモンキーパッチを適用しないでください。)
編集:これの本当に優れた利点の1つは、前処理された文字列を変数に格納し、次のように「テンプレート」として使用できることです。
template = "Hi! I'm %(name)s, and I'm %(age)d years old."
def greet(template,name,age):
print template % ({"name":name,"age":age})
これは明らかに些細な例ですが、後で使用するためにそのような文字列を保存できることには多くの有用性があります。Rubyの"Hi! I'm #{name}"
規則は大まかに似ていますが、すぐに評価すると汎用性が低くなります。
#{var}
この編集の前から来たので、テクニックを示唆する答えに反対票を投じないでください。(ランダムなアイデアカーネル:質問の作成者が回答を「時代遅れ」とマークした場合、おそらく回答を投票から保護する必要があります...?)