В Python эта идиома для форматирования строк довольно распространена
s = "hello, %s. Where is %s?" % ("John","Mary")
Что эквивалентно в Ruby?
python
ruby
string-formatting
TIMEX
источник
источник
Ответы:
Самый простой способ - интерполяция строк . Вы можете вставлять небольшие фрагменты кода Ruby прямо в свои строки.
name1 = "John" name2 = "Mary" "hello, #{name1}. Where is #{name2}?"
Вы также можете форматировать строки в Ruby.
"hello, %s. Where is %s?" % ["John", "Mary"]
Не забудьте использовать здесь квадратные скобки. В Ruby нет кортежей, только массивы, и в них используются квадратные скобки.
источник
'#{name1}'
это не то же самое, что"#{name1}"
.'#{"abc"}' # => "\#{\"abc\"}"
но вы хотите"#{"abc"}" # => "abc"
В Ruby> 1.9 вы можете сделать это:
s = 'hello, %{name1}. Where is %{name2}?' % { name1: 'John', name2: 'Mary' }
См. Документацию
источник
Практически так же:
irb(main):003:0> "hello, %s. Where is %s?" % ["John","Mary"] => "hello, John. Where is Mary?"
источник
Собственно почти то же самое
s = "hello, %s. Where is %s?" % ["John","Mary"]
источник