On Sunday 10 October 2004 10:34 pm, Florian Gross wrote:
| trans. (T. Onoma) wrote:
| >   How do I change the end exclusivity of a pre-existing range?
|
| In theory this is impossible because Ranges are designed to be immutable
| objects.
|
| For other objects it is possible to change them via .send(:initialize),
| but Ranges have a check for that.
|
| I think the only option would be using evil-ruby, for now.
|
| But why do you need this?

Testing some modifications to Range. One of them is the addition of 
exclude_first?  Then I wanted to try out this alternate notation:

  -(0..9)  # exclude end
  +(0..9)  # exclude first
  ~(0..9)  # exclude both

Using unary operators, since they have no other meaning for ranges anyway.

Have a few other interesting changes, as well. It took a while, but it's 
beginning to look quite nice --a good bit more flexible then the current 
Range class.

T.

P.S. You may also notice why I'm concerned with precedence, too.