Что такое Ruby-эквивалент Python `s = "hello,% s. Где% s?" % ( "Джон", "Мэри" )
В Python эта идиома для форматирования строк довольно распространена
s = "hello, %s. Where is %s?" % ("John","Mary")
Что такое эквивалент в Ruby?
Ответы
Ответ 1
Самый простой способ - строка-интерполяция. Вы можете вводить маленькие кусочки кода Ruby непосредственно в свои строки.
name1 = "John"
name2 = "Mary"
"hello, #{name1}. Where is #{name2}?"
Вы также можете создавать строки форматирования в Ruby.
"hello, %s. Where is %s?" % ["John", "Mary"]
Не забудьте использовать квадратные скобки. Ruby не имеет кортежей, просто массивов, а те используют квадратные скобки.
Ответ 2
В Ruby 1.9 вы можете сделать это:
s = "hello, %{name1}. Where is %{name2} ?" % { :name1 => 'John', :name2 => 'Mary' }
Изменить: добавлено отсутствующее ':' s
Ссылка: http://ruby-doc.org/core-1.9.3/String.html
Ответ 3
Почти так же:
irb(main):003:0> "hello, %s. Where is %s?" % ["John","Mary"]
=> "hello, John. Where is Mary?"
Ответ 4
Фактически почти то же самое
s = "hello, %s. Where is %s?" % ["John","Mary"]