[#1649] Re: New Ruby projects — Yukihiro Matsumoto <matz@...>
The following message is a courtesy copy of an article
[#1672] Re: Ruby 1.4 stable manual bug? — Yukihiro Matsumoto <matz@...>
The following message is a courtesy copy of an article
[#1673] Re: Possible problem with ext/socket in 1.5.2 — itojun@...
[#1694] Conventions for our Ruby book — Dave Thomas <Dave@...>
[#1715] Install postgresql support — Ikhlasul Amal <amal@...>
Hi all,
Hi,
[#1786] Is this a bug? — Clemens Hintze <clemens.hintze@...>
(mailed & posted)
[#1814] Objects nested sometimes. — Hugh Sasse Staff Elec Eng <hgs@...>
I am attemptiong to write a package which consists of a workspace
[#1816] Ruby 1.5.3 under Tru64 (Alpha)? — Clemens Hintze <clemens.hintze@...>
Hi all,
Hi,
Yukihiro Matsumoto writes:
Hi,
Hi,
[#1834] enum examples? — Hugh Sasse Staff Elec Eng <hgs@...>
Has anyone any examplse of using the Enumerable module? I've had a
[#1844] Minor irritation, can't figure out how to patch it though! — Hugh Sasse Staff Elec Eng <hgs@...>
I was considering how difficult it would be to patch Ruby to accept
[#1889] [ruby-1.5.3] require / SAFE — ts <decoux@...>
[#1896] Ruby Syntax similar to other languages? — "David Douthitt" <DDouthitt@...>
From: Yukihiro Matsumoto <matz@netlab.co.jp>
[#1900] Enumerations and all that. — Hugh Sasse Staff Elec Eng <hgs@...>
Thank you to the people who responded to my questions about Enumerated
Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
On 16 Mar 2000, Dave Thomas wrote:
[#1929] Re: Class Variables — "David Douthitt" <DDouthitt@...>
| "David Douthitt" <DDouthitt@cuna.com> writes:
[#1942] no Fixnum#new ? — Quinn Dunkan <quinn@...>
Ok, I can add methods to a built-in class well enough (yes I know about succ,
[#1989] English Ruby/Gtk Tutorial? — schneik@...
Hi,
[#2022] rb_global_entry — ts <decoux@...>
[#2036] Anonymous and Singleton Classes — B_DAVISON <Bob.Davison@...>
I am a Ruby newbie and having some problems getting my mind around certain
[#2069] Ruby/GTK+ question about imlib --> gdk-pixbug — schneik@...
[#2073] Re: eval.rb fails — "Dat Nguyen" <thucdat@...>
The doc is fine, this happens only if you try to execute 'until' block
On Wed, 22 Mar 2000, Dat Nguyen wrote:
[#2084] Scope violated by import via 'require'? — Clemens Hintze <c.hintze@...>
Hi,
[#2104] ARGF or $< — Hugh Sasse Staff Elec Eng <hgs@...>
Has anyone any examples of how to use ARGF or $< as I cannot find much
Hi.
[#2165] Ruby strict mode and stand-alone executables. — "Conrad Schneiker" <schneiker@...>
Some people want Ruby to have a strict compile mode.
[#2203] Re: parse bug in 1.5 — schneik@...
[#2212] Re: Ruby/Glade usage questions. — ts <decoux@...>
>>>>> "m" == mrilu <mrilu@ale.cx> writes:
[#2241] setter() for local variables — ts <decoux@...>
[#2256] Multiple assignment of pattern match results. — schneik@...
[#2267] Re: Ruby and Eiffel — h.fulton@...
[#2309] Question about attribute writers — Dave Thomas <Dave@...>
Clemens Hintze <c.hintze@gmx.net> writes:
[ruby-talk:01867] Re: Another question from a newbie
Why not use this pattern substitution (instead of gsub! and yield) -
line = s/[ \t]*#.*$//;
next if /^$/;
Not sure how that translates to Ruby....
>>> Dave Thomas <Dave@thomases.com> 03/15/00 02:37PM >>>
"David Douthitt" <DDouthitt@cuna.com> writes:
> Thanks for the help! Now a question on your alternative:
>
> >>> Dave Thomas <Dave@thomases.com> 03/15/00 01:36PM >>>
>
> By the way, there's another fun Ruby trick for doing this kind of
> thing. You could code up a simple iterator which only returns
> non-blank non-comment lines
>
> def nonCommentLines(aFile)
> aFile.each { |line|
> line.gsub!(/#.*/, '')
> yield(line) unless line =~ /^\s*$/
> }
> end
>
> File.open(ENV["ORACONF"]) { |conf|
> nonCommentLines(conf) { |line|
> print line
> }
> }
>
> >>>snip!<<<
>
> Isn't this alternative more costly in terms of time? I know OOP isn't
> known for being fast, but.... It also seems to be much more complex -
> a yield and gsub! instead of a simple pattern-match.
Yup! I think it is. The gsub is there because it has slightly
different semantics than your version, skipping any line that consists
solely of zero or more spaces after comments are removed. The lines it
returns have the comments already stripped, ready for parsing, so
db = fred # primary database
# (a silly example)
#
size = 10 # and the size
will just return the lines
db = fred
size = 10
But, as you say, that does come at a cost.
However, the benefit of the approach is you now have a reusable method
that will strip comments and blank lines from _any_ Enumerable
collection of strings (despite the name of the parameter). That may or
may not be a big win the next time you have to parse a parameter file.
I could be argued either way (and frequently am)
Dave