问题
In Python, this idiom for string formatting is quite common
s = "hello, %s. Where is %s?" % ("John","Mary")
What is the equivalent in Ruby?
回答1:
The easiest way is string interpolation. You can inject little pieces of Ruby code directly into your strings.
name1 = "John"
name2 = "Mary"
"hello, #{name1}. Where is #{name2}?"
You can also do format strings in Ruby.
"hello, %s. Where is %s?" % ["John", "Mary"]
Remember to use square brackets there. Ruby doesn't have tuples, just arrays, and those use square brackets.
回答2:
In Ruby > 1.9 you can do this:
s = 'hello, %{name1}. Where is %{name2}?' % { name1: 'John', name2: 'Mary' }
See the docs
回答3:
Almost the same way:
irb(main):003:0> "hello, %s. Where is %s?" % ["John","Mary"]
=> "hello, John. Where is Mary?"
回答4:
Actually almost the same
s = "hello, %s. Where is %s?" % ["John","Mary"]
来源:https://stackoverflow.com/questions/3554344/what-is-ruby-equivalent-of-pythons-s-hello-s-where-is-s-john-mar