Search code examples
pythonrubystring-formatting

What is Ruby equivalent of Python's `s= "hello, %s. Where is %s?" % ("John","Mary")`


In Python, this idiom for string formatting is quite common

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

What is the equivalent in Ruby?


Solution

  • 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.