On Tue, Apr 26, 2011 at 9:07 PM, Mfer Dez <emphxl / yahoo.com> wrote:
> I have a text file that is structured like so:
>
> 1:1 abcdefg
> 1:2 abcdefg
> 1:3 abcdefg
> 1:4 abcdefg
> 1:5 abcdefg
>
> I would like to be able to print out a subset of the file ie: print the
> line beginning with 1:2 through the line beginning with 1:4
>
> So far, I've started with this;
>
> lines = File.readlines("file.txt")
>
> This puts each line of the text file into an array, so the lines[] array
> looks like this:
>
> line[0] is 1:1 abcdefg
> line[1] is 1:2 abcdefg
> line[2] is 1:3 abcdefg
> etc.
>
> If I want to print out the lines that start with 1:2 through 1:4, how
> should I proceed? Some of the text files won't be "aligned" in that
> line[0] won't always be 1:1. If a user would like to print the lines
> containing 3:9 - 3:31, how can I scan each line of the array and pattern
> match the boundaries (3:9 - 3:31 in this example)? What array methods
> are available to me.


If you just want to print the selected lines, the array methods
available aren't the interesting ones (Array#each is probably enough),
the interesting part is parsing the tag part of the lines, for which
you probably want to consider using regular expressions.