web-dev-qa-db-ja.com

Pythonの `s =" hello、%s。%sはどこにありますか? "と同等のRubyとは何ですか? %( "John"、 "Mary") `

Pythonでは、この文字列フォーマットのイディオムは非常に一般的です

s = "hello, %s. Where is %s?" % ("John","Mary")

Rubyで同等のものは何ですか?

139
TIMEX

最も簡単な方法は 文字列補間 です。 Rubyコードの小さな断片を直接文字列に挿入できます。

name1 = "John"
name2 = "Mary"
"hello, #{name1}.  Where is #{name2}?"

Rubyでフォーマット文字列を実行することもできます。

"hello, %s.  Where is %s?" % ["John", "Mary"]

必ず角括弧を使用してください。 Rubyにはタプルはなく、配列のみがあり、角括弧を使用します。

240
AboutRuby

Ruby> 1.9では、これを実行できます。

s =  'hello, %{name1}. Where is %{name2}?' % { name1: 'John', name2: 'Mary' }

ドキュメントを参照

51
toong

ほぼ同じ方法:

irb(main):003:0> "hello, %s. Where is %s?" % ["John","Mary"]
=> "hello, John. Where is Mary?"
19
Manoj Govindan

実際にほぼ同じ

s = "hello, %s. Where is %s?" % ["John","Mary"]
9
phadej