From: Caleb Clausen Date: 2005-08-04T11:05:34+09:00 Subject: Re: regex question Then there's always: eval "filename" #;) which will have exactly the right semantics in your case. 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 > >