On Oct 17, 11:03 am, baptiste Augui<ba... / exeter.ac.uk> wrote: > Hello, > > This is a basic question, as I'm very new to Ruby. I have a text file > 'input.dat' containing the following data and text: > > > some text > > some text... > > > angle value1 value2 > > > 156.00 3.3688E-03 1.7040E-03 > > 157.00 3.2919E-03 1.7118E-03 > > 158.00 3.2140E-03 1.7190E-03 > > 159.00 3.1354E-03 1.7258E-03 > > 160.00 3.0560E-03 1.7320E-03 > > 161.00 2.9760E-03 1.7378E-03 > > 162.00 2.8956E-03 1.7431E-03 > > 163.00 2.8148E-03 1.7479E-03 > > 164.00 2.7338E-03 1.7523E-03 > > 165.00 2.6526E-03 1.7562E-03 > > 166.00 2.5714E-03 1.7597E-03 > > 167.00 2.4902E-03 1.7628E-03 > > I would like to extract the 3 columns of data for several consecutive > lines (say, from angle = 158 to 165). These values should be stored > in some array or vector. How can I do that in Ruby? > > Many thanks, > > baptiste p IO.readlines( 'input.dat').grep( /^\d/ ). map{|s| s.strip.split.map{|x| x.to_f}}.select{|a| a.first.between?(158,165) }