Issue #14823 has been updated by sawa (Tsuyoshi Sawada).


I agree with shevegen. In case one of the two is to be removed, it is `1..` that should be removed, not the other way around.

My understanding is that the `..` notation corresponds to the mathematical notation `]` (end of closed interval), whereas `...` corresponds to `)` (end of open interval). And in mathematics, there is such thing as

```
$[1, \infty)$
```

but there is no such thing as

```
$[1, \infty]$
```

----------------------------------------
Bug #14823: Endless Range Excluding End
https://bugs.ruby-lang.org/issues/14823#change-72390

* Author: jeremyevans0 (Jeremy Evans)
* Status: Feedback
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.6.0preview2 (2018-05-31 trunk 63539) [x86_64-openbsd]
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
Does it make sense for an endless range to exclude the end?  It is currently supported, but the semantics are questionable.

~~~
(1..)
# => 1..
(1...)
# => 1...
(1...) == (1..)
# => false
~~~

I think it may be better to only allow `..` for endless ranges, and not allow `...`. I think the use of `...` with an endless range should be a SyntaxError. 



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>