Вы можете использовать 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
.