Вы можете использовать форматирование, подобное sprintf, для вставки значений в строку. Для этого строка должна включать заполнители. Поместите свои аргументы в массив и используйте один из следующих способов: (Для получения дополнительной информации см. Документацию по Kernel :: sprintf .)
fmt = 'The %s %s the %s'
res = fmt % [animal, action, other_animal] # using %-operator
res = sprintf(fmt, animal, action, other_animal) # call Kernel.sprintf
Вы даже можете явно указать номер аргумента и перемешать их:
'The %3$s %2$s the %1$s' % ['cat', 'eats', 'mouse']
Или укажите аргумент с помощью хеш-ключей:
'The %{animal} %{action} the %{second_animal}' %
{ :animal => 'cat', :action=> 'eats', :second_animal => 'mouse'}
Обратите внимание, что вы должны указать значение для всех аргументов %
оператора. Например, вы не можете избежать определения animal
.