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
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.