if free || os
if line =~ new_re
cvs(host)
host, free, os = nil
next
end
end
I'm looking for something more along the lines of:
( line =~ new_re && do { cvs(host); host, free, os = nil; next } )
if free || os
But of course that's giving me plenty of errors...
What would the ruby idiom for the above be?
( I'm coming from perl... so I'm still thinking in perl unfortunately )
Many thanks!
I dont know what you're doing, but to take exactly what you typed:
if free||os and line=~new_re
cvs host ; host,free,os=nil ; end
OR
(cvs host ; host,free,os=nil ; next) if free||os and line=~re
Zach
Heh - that's ok, neither do I!
<grin>
> but to take exactly what you typed:
>
> if free||os and line=~new_re
> cvs host ; host,free,os=nil ; end
>
> OR
>
> (cvs host ; host,free,os=nil ; next) if free||os and line=~re
>
Perfect -- many thanks!
Beers,
Corey
>> but to take exactly what you typed:
>>
>> if free||os and line=~new_re
>> cvs host ; host,free,os=nil ; end
>>
>> OR
>>
>> (cvs host ; host,free,os=nil ; next) if free||os and line=~re
>>
>>
>
> Perfect -- many thanks!
Funny, I was thinking just the opposite. :D Us Ruby guys love
pretty code.
That's you're Perl self talking, trust me. Let it die. You won't
miss it, I promise.
Try this question on for size: Give me one single advantage to the
above changes? Shorter? Please. Harder to code (that's why you
asked), harder to understand, harder to change, etc. For what? You
dropped a few lines.
Ruby is truly a beautiful language. Give it a chance to work its
magic on you and don't be surprised if you eventually find yourself
saying, "No, that's too ugly. I can do better..."
Just a small piece of advice, from one ex-Perl junkie to another. No
offense intended. :)
James Edward Gray II
You speak the truth.
I was coding ruby exactly the way I would have coded in perl... I think mainly
because this was precisely the sort of script that perl excels at: a quick
hackish, throw-away thing to parse a file. I actualy started it in perl,
then figured I'd try in ruby just as a quick immersion excercise... learn
some syntax and whatnot. I got imipatient because I really needed this thing
super quick... so, no harm done - when I have more time, I definitely intend
to learn the actual ruby idioms; I totally agree with your excellent points.
Beers!
Corey