From: Dhruva Sagar Date: 2011-01-02T15:14:04+09:00 Subject: Re: Undefined local var hash not trapped --0016363b912cfe1f4f0498d6e0a2 Content-Type: text/plain; charset=UTF-8 Object#Hash was a good indication. in irb session, the IRB object #hash is executed when you type hash. regarding strings, again, strings have a method << which is used for appending. a<< hash will return in an error since hash returns a number and it is very large to be converted to a char... On Sun, Jan 2, 2011 at 08:40, RichardOnRails < RichardDummyMailbox58407@uscomputergurus.com> wrote: > On Jan 1, 7:24 pm, RichardOnRails > wrote: > > The following program: > > > > # K:\Analysis > > # TestUndefinedLocalVar_hash.rb > > > > a = [] > > a << "xyz" > > a << hash > > a << undefined > > > > crashes on line 8 (a << undefined) rather than on line 7 (which > > apparently appends a reference to the undefined "hash" to the array. > > What causes this mythical creation of "hash"? Is this behavior > > defined anywhere? > > > > If it matters, the following explains how I encountered this problem: > > > > I have a program which had been using a local var named "hash". Use > > of that name caused no problem. > > However, I decided I should change the value assigned to hash, so I > > changed all references to it to "hash_string" ... all but one. I > > expected that after I made changes to the way hash_string was > > computed, my program would fail when the reference to the now- > > undefined hash was encountered. No such luck. > > > > Thanks in Advance, > > Richard > > > HTH > That certainly helps in that it shows me what Ruby was "thinking". > > RubyDocs shows that lots of class have hash methods (maybe because > they all inherit from Object.) I listed a few "uses" below but have > adopted a new programming rule: don't use Ruby method-names as local > variables. > > Below are the few examples that seem pretty useless to me. > > Best wishes, > Richard > > a = [] > # a = "" # Can't append hash to a string > a << hash > a << "xyz" > > -- Thanks & Regards, Dhruva Sagar . --0016363b912cfe1f4f0498d6e0a2--