[#14464] who uses Python or Ruby, and for what? — ellard2@...01.fas.harvard.edu (-11,3-3562,3-3076)

A while ago I posted a request for people to share their experiences

12 messages 2001/05/01

[#14555] Ruby as a Mac OS/X scripting language — Dave Thomas <Dave@...>

10 messages 2001/05/02

[#14557] Arggg Bitten by the block var scope feature!!! — Wayne Scott <wscott@...>

13 messages 2001/05/02

[#14598] Re: Arggg Bitten by the block var scope feature!!! — "Conrad Schneiker" <schneik@...>

# On Thu, 3 May 2001, Wayne Scott wrote:

9 messages 2001/05/03

[#14636] Yet another "About private methods" question — Eric Jacoboni <jacoboni@...2.fr>

I'm still trying to figure out the semantics of private methods in Ruby.

39 messages 2001/05/04
[#14656] Re: Yet another "About private methods" question — Dave Thomas <Dave@...> 2001/05/04

Eric Jacoboni <jaco@teaser.fr> writes:

[#14666] Ruby and Web Applications — "Chris Montgomery" <monty@...> 2001/05/04

Greetings from a newbie,

[#14772] Re: Ruby and Web Applications — Jim Freeze <jim@...> 2001/05/07

On Sat, 5 May 2001, Chris Montgomery wrote:

[#14710] Why's Ruby so slow in this case? — Stefan Matthias Aust <sma@3plus4.de>

Sure, Ruby, being interpreted, is slower than a compiled language.

12 messages 2001/05/05

[#14881] Class/Module Information — "John Kaurin" <jkaurin@...>

It is possible to modify the following code to produce

18 messages 2001/05/09

[#15034] Re: calling .inspect on array/hash causes core dump — ts <decoux@...>

>>>>> "A" == Andreas Riedl <viisi@chello.at> writes:

15 messages 2001/05/12

[#15198] Re: Q: GUI framework with direct drawing ca pabilities? — Steve Tuckner <SAT@...>

Would it be a good idea to develop a pure Ruby GUI framework built on top of

13 messages 2001/05/15

[#15234] Pluggable sorting - How would you do it? — "Hal E. Fulton" <hal9000@...>

Hello all,

16 messages 2001/05/16

[#15549] ColdFusion for Ruby — "Michael Dinowitz" <mdinowit@...2000.com>

I don't currently use Ruby. To tell the truth, I have no real reason to. I'd

12 messages 2001/05/22

[#15569] I like ruby-chan ... — Rob Armstrong <rob@...>

Ruby is more human(e) than Python. We already have too many animals :-).

15 messages 2001/05/23

[#15601] How to avoid spelling mistakes of variable names — ndrochak@... (Nick Drochak)

Since Ruby does not require a variable to be declared, do people find

13 messages 2001/05/23

[#15734] java based interpreter and regexes — "Wayne Blair" <wayne.blair@...>

I have been thinking about the java based ruby interpreter project, and I

48 messages 2001/05/25

[#15804] is it possible to dynamically coerce objects types in Ruby? — mirian@... (Mirian Crzig Lennox)

Greetings to all. I am a newcomer to Ruby and I am exploring the

13 messages 2001/05/27
[#15807] Re: is it possible to dynamically coerce objects types in Ruby? — matz@... (Yukihiro Matsumoto) 2001/05/27

Hi,

[#15863] Experimental "in" operator for collections — Stefan Matthias Aust <sma@3plus4.de>

There's one thing where I prefer Python over Ruby. Testing whether an

13 messages 2001/05/28

[#15925] Re: Block arguments vs method arguments — ts <decoux@...>

>>>>> "M" == Mike <mike@lepton.fr> writes:

43 messages 2001/05/29
[#16070] Re: Block arguments vs method arguments — "Hal E. Fulton" <hal9000@...> 2001/05/31

----- Original Message -----

[#16081] Re: Block arguments vs method arguments — Sean Russell <ser@...> 2001/05/31

On Thu, May 31, 2001 at 11:53:17AM +0900, Hal E. Fulton wrote:

[#16088] Re: Block arguments vs method arguments — Dan Moniz <dnm@...> 2001/05/31

At 11:01 PM 5/31/2001 +0900, Sean Russell wrote:

[#15954] new keyword idea: tryreturn, tryturn or done — Juha Pohjalainen <voidjump@...>

Hello everyone!

12 messages 2001/05/29

[ruby-talk:14659] Re: bizarre eval hangs

From: ptkwt@...1.aracnet.com (Phil Tomson)
Date: 2001-05-04 19:41:04 UTC
List: ruby-talk #14659
In article <20010504123943.C2523@scheibenwelt>,
Marko Schulz  <in6x059@public.uni-hamburg.de> wrote:
>On Fri, May 04, 2001 at 08:11:24AM +0900, Phil Tomson wrote:
>> 
>>          srchStr = "/Error/"  
>  :
>>            if eval srchStr
>
>This construct will not work as expected, it will always go into the
>'true'-branch. The eval will result in an object of class Regexp. And
>since all objects beside nil and false are true in ruby, this object
>will be true too.

OK, that's good to know, but what if:

srchStr = "!(/Error Count = [1-9]/ || /Abort/ || /[1-9] error/ || /fatal/)" 

which is what it really should be in the case I showed.

Now srchStr doesn't represent a regex, but an expression composed of 
regex's that is eval'ed against $_ to determine whether it is true or not.  
In this case, because of the leading '!' we don't want to see any of the 
strings denoted by the regex's in the equation between the parens.

>
>This doesn't solve your original problem though. It just makes the
>example almost complete nonsense. 
>Everything done there is reading the
>whole file line by line and setting (failed,found = false, true) while
>processing each line, regardless of the content. Then i is incremented
>and everything is done again and again and again....


True, but what if I change my example such that the srchStr changes to 
what I have above:
###############################################################
i = 0
failed = true
found  = false
while true do
   i += 1
   puts i
         rptFile = "CYPsw00695.rpt"
         #the following line is different:
         srchStr = "!(/Error Count = [1-9]/ || /Abort/ || /[1-9] error/ || 
/fatal/)"
         rpt_h = File.open rptFile
         puts "after File.open #{rptFile}" if $DEBUG
         puts "srchStr is: #{srchStr}" if $DEBUG
         while rpt_h.gets do
           #puts "while: #$_" if $DEBUG

           if eval srchStr
              failed = false
              found  = true
           else
              failed = true
              break
           end  #if eval

         end
         rpt_h.close
end         
##########################################################

Actually, I tried this example and it's even worse - it just hangs after 
the sixth iteration.  It is apparently due to the eval.

>
>I have no clue what resources are hogged by this, but if you explain a
>little bit more what you want to do here, we might help you to find a
>more natural ruby approach to it.
>

OK, I've got a test system currently implemented in Perl that I'm trying 
to turn into a distributed application with Ruby.  There are several thousand 
testcases in the system and each testcase has a file associated with it 
that has information about how to run the testcase and how to determine if 
it passed or failed.  To determine pass/fail, there is a string in the 
file (which is the srchStr in the example above) that is an expression 
composed of regex's and logical operators, like:

"!(/Error Count = [1-9]/ || /Abort/ || /[1-9] error/ || /fatal/)"

In perl we iterate through each line of the file and eval the srchStr 
($srchStr in Perl) against $_ (basically: if eval $srchStr { 'do blah'})
it works pretty nicely.  In Ruby that eval hangs after a while.  Now, the 
way I'm doing it may not be the best way to do it, but I don't think the 
eval should hang (and I kind of have to do it this way for historical 
reasons - I really don't want to change those thousands of files out 
there!).

Phil

In This Thread