From: Yossef Mendelssohn Date: 2010-11-26T13:54:57+09:00 Subject: Re: "<" method for array On Nov 25, 10:49 pm, "Eva" wrote: > Hi, > > I hate there is not a "<" method for array object. > Since there is the "<<" for adding an element, why not have the "<" for truncating then filling up the array? > > I know I can write one: > > irb(main):009:0> class Array > irb(main):010:1>   def <(a) > irb(main):011:2>      clear > irb(main):012:2>      self << a > irb(main):013:2>   end > irb(main):014:1> end > > But it's not that convenient when I want it. That would surprise the hell out of me. Established convention is that << is the "left shift" or "append" operator, which will change the receiver. On the other hand, < is the "less than" operator, which simply compares the receiver to the argument, no change whatsoever. You *can* redefine < to do whatever you want, but I'm not sure why you would define it this way. -- -yossef