How about you actually say what you want. The one line example tells
us nothing about the variable substitution mechanism you are expecting

What constitutes a variable name to be substituted, anything between
the '&' and the next whitespace perhaps?
How would you expect it to handle something line "&this&that&other".
Will it correctly concatenate the values together or will it force
spaces between the substitutions?
How should it escape real &s in the text such as "cat & dog"?
How should it handle missing variables?
How will it handle trailing text such as this in Ruby #{distance}m or
#{year}-#{month}-#{day}?
Will it be expected to handle constants, classes, instance / class
variables and globals?

Until you tell us what you want no one can help you. Given your one
example it could be possible to create a dozen different libraries
that handle the cases I've given in completely different ways and yet
be consistent for the one case you give

But more interestingly what is deficient in the current #{} method?