Turning off interpolation in a regex

I need to be able to find a run of characters (like count) in a
string and substitute in the value #{object.count} so that I’m left
with a string that can itself be interpolated. The method for doing
this that jumped out was to use the string’s gsub method like this:

original_string.gsub(/\*count\*/, /count of #{object\.count}/

(Old hands at Ruby are now chuckling, and rightly so) How do I go
about getting the literal text in the substitution portion without
getting an, “NameError: undefined local variable or method `object’
for main:Object”?

Any assistance, pointers or suggestions appreciated.


Jason P.
[email protected]

“The computer allows you to make mistakes
faster than any other invention, with the
possible exception of handguns and tequila.”

Jason P. wrote:

I need to be able to find a run of characters (like count) in a string
and substitute in the value #{object.count} so that I’m left with a
string that can itself be interpolated. The method for doing this that
jumped out was to use the string’s gsub method like this:

original_string.gsub(/\*count\*/, /count of #{object\.count}/

(Old hands at Ruby are now chuckling, and rightly so) How do I go about
getting the literal text in the substitution portion without getting an,
“NameError: undefined local variable or method `object’ for main:Object”?

s = original_string.gsub(/*count*/, ‘count of #{object.count}’)

set object somehow

eval “”#{s}""

On Mar 30, 2006, at 8:53 PM, Joel VanderWerf wrote:

s = original_string.gsub(/*count*/, ‘count of #{object.count}’)

set object somehow

eval “”#{s}""

Thank you, Joel.


Jason P.
[email protected]

“The computer allows you to make mistakes
faster than any other invention, with the
possible exception of handguns and tequila.”

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs