Você pode usar a formatação semelhante a sprintf para injetar valores na string. Para isso, a string deve incluir marcadores de posição. Coloque seus argumentos em uma matriz e use uma das seguintes maneiras: (Para obter mais informações, consulte a documentação de 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
Você pode até especificar explicitamente o número do argumento e embaralhá-los:
'The %3$s %2$s the %1$s' % ['cat', 'eats', 'mouse']
Ou especifique o argumento usando chaves hash:
'The %{animal} %{action} the %{second_animal}' %
{ :animal => 'cat', :action=> 'eats', :second_animal => 'mouse'}
Observe que você deve fornecer um valor para todos os argumentos para o %
operador. Por exemplo, você não pode evitar definir animal
.