Forum: Ruby Memo to self.

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
John C. (Guest)
on 2006-02-20 04:20
(Received via mailing list)
Never under estimate what you can achieve with
  IO.read( "filename").scan(%r{}mx) do |match|
end

Especial as you can control how greedy the regex is with .*?

I just deleted a lot of code and replaced it with one line.

John C.                             Phone : (64)(3) 358 6639
Tait Electronics                        Fax   : (64)(3) 359 4632
PO Box 1645 Christchurch                Email : 
removed_email_address@domain.invalid
New Zealand

Carter's Clarification of Murphy's Law.

"Things only ever go right so that they may go more spectacularly wrong
later."

From this principle, all of life and physics may be deduced.
Hal F. (Guest)
on 2006-02-20 04:23
(Received via mailing list)
John C. wrote:
> Never under estimate what you can achieve with
>  IO.read( "filename").scan(%r{}mx) do |match|
> end
>
> Especial as you can control how greedy the regex is with .*?
>
> I just deleted a lot of code and replaced it with one line.

Well, as your self.memo included the rest of us, how about
sharing the example?


Hal
William J. (Guest)
on 2006-02-20 13:39
(Received via mailing list)
John C. wrote:
> PO Box 1645 Christchurch                Email : removed_email_address@domain.invalid
> New Zealand
>
> Carter's Clarification of Murphy's Law.
>
> "Things only ever go right so that they may go more spectacularly wrong later."
>
> From this principle, all of life and physics may be deduced.

# Read and parse the first file on the command line.
gets(nil).scan( //mx ) { |s|
}
# Read and parse the rest of the files.
ARGF.read.scan( //mx ) { |s|
}
John C. (Guest)
on 2006-02-23 03:20
(Received via mailing list)
On Mon, 20 Feb 2006, Hal F. wrote:

> sharing the example?
Ok. Just quickly. I had a file of the format...

blah
blah
Command :
some stuff
some more stuff I \
want with line continuation \
characters

blah
blah
Command :
more some stuff
more some more stuff I \
want with line continuation \
characters

blah
blah
...

that I wanted transformed into
some stuff
some more stuff I want with line continuation characters
more some stuff
more some more stuff I want with line continuation characters


So I started write a routine to fix up the \ characters yield fixed
lines and then a state machine to search for 'Command:' and gather
everything until the blank line and then skip until...

I start playing with Generator since I realised I could then keep
everything in a
   each_something do |thing|
     yield other_thing( thing)
   end
pattern instead of doing state machines and then I threw everything away
and replaced it with..

    File.read( "big_file").scan(%r{\nCommand\ :\n(.*?)\n\n}mx) do
|command|
       puts $1.gsub( %r{\\\n}mx, '')
    end

and then
   everyone.send( :memo, "to self")

John C.                             Phone : (64)(3) 358 6639
Tait Electronics                        Fax   : (64)(3) 359 4632
PO Box 1645 Christchurch                Email : 
removed_email_address@domain.invalid
New Zealand

Carter's Clarification of Murphy's Law.

"Things only ever go right so that they may go more spectacularly wrong
later."

From this principle, all of life and physics may be deduced.
This topic is locked and can not be replied to.