From: Joe Van Dyk Date: 2005-08-04T11:23:43+09:00 Subject: Re: regex question On 8/3/05, Caleb Clausen wrote: > Then there's always: > > eval "filename" #;) > > which will have exactly the right semantics in your case. Ah... I was trying to do instance_eval. Why didn't that work? > > On 8/3/05, David A. Black wrote: > > Hi -- > > > > On Thu, 4 Aug 2005, Joe Van Dyk wrote: > > > > > I have a file that contains the following contents: > > > > > > sw_corner = 1000,-1000 > > > ne_corner = -1000,1000 > > > > > > I want to read that file and figure out what the sw_corner and > > > ne_corner values are. Here's my following attempt, but it looks ugly. > > > How can I improve it? > > > > > > sw_corner = map_data.scan(/sw_corner = ([-\d]+),\s*([-\d]+)/)[0] > > > ne_corner = map_data.scan(/ne_corner = ([-\d]+),\s*([-\d]+)/)[0] > > > > Here's one possibility, if you want them as integers: > > > > require 'scanf' > > > > map_data = < > sw_corner = 1000,-1000 > > ne_corner = -1000,1000 > > EOM > > > > format = "%*s = %d,%d" > > > > sw = map_data.scanf(format) > > ne = map_data.scanf(format) > > > > puts "sw is #{sw.inspect},ne is #{ne.inspect}" > > > > > > David > > > > -- > > > > > > David A. Black > > dblack@wobblini.net > > > > > >