Что такое Ruby-эквивалент Python `s =« hello,% s. Где% s? " % («Джон», «Мэри») `

В Python эта идиома для форматирования строк довольно распространена

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

Что эквивалентно в Ruby?

140
задан Jordan Dea-Mattson 1 July 2013 в 19:40
поделиться

3 ответа

Самый простой способ - интерполяция строк . Вы можете вставлять небольшие фрагменты кода Ruby прямо в свои строки.

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

Вы также можете форматировать строки в Ruby.

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

Не забудьте использовать здесь квадратные скобки. В Ruby нет кортежей, только массивы, и в них используются квадратные скобки.

242
ответ дан 23 November 2019 в 23:14
поделиться

Почти так же:

irb(main):003:0> "hello, %s. Where is %s?" % ["John","Mary"]
=> "hello, John. Where is Mary?"
19
ответ дан 23 November 2019 в 23:14
поделиться

Фактически почти то же самое

s = "hello, %s. Where is %s?" % ["John","Mary"]
9
ответ дан 23 November 2019 в 23:14
поделиться