From: Carlos Date: 2004-02-04T02:47:23+09:00 Subject: Re: gsub with match replacement > I'm trying to convert > > "12:34" => "12:34" > > (I know there is a CGI module with unescapeHTML(), I'm working in a > ruby environment that does not allow for additions of modules) > > I'm trying: > > "12:34".gsub(/&#(\d+);/,'\1'.to_i.chr) > > But I get "1234" > > Can anyone explain what I'm doing wrong? When ruby is about to call method #gsub, it evaluates the arguments. The second argument is '\1'.to_i.chr -> 0.chr -> "\000". > BTW I know I can do: > > "12:34".gsub(/&#(\d+);/) do > Integer($1).chr > end > > but for some reason in the ruby environment I'm working in > I get 'Undefined method Integer for main:Object' It's very strange that you get that error (works here). Maybe you can try with $1.to_i.chr, as before.