Puede usar un formato similar a sprintf para inyectar valores en la cadena. Para eso, la cadena debe incluir marcadores de posición. Coloque sus argumentos en una matriz y use una de estas formas: (Para obtener más información, consulte la documentación 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
Incluso puede especificar explícitamente el número de argumento y barajarlo:
'The %3$s %2$s the %1$s' % ['cat', 'eats', 'mouse']
O especifique el argumento usando claves hash:
'The %{animal} %{action} the %{second_animal}' %
{ :animal => 'cat', :action=> 'eats', :second_animal => 'mouse'}
Tenga en cuenta que debe proporcionar un valor para todos los argumentos al %
operador. Por ejemplo, no puede evitar definir animal
.