# Re: string range membership

**URL:** <https://www.ruby-forum.com/t/re-string-range-membership/100716>\
**Category:** Ruby\
**Created:** [November 23, 2005, 3:58pm UTC](https://www.ruby-forum.com/t/re-string-range-membership/100716 "2005-11-23T15:58:12Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![warrenbrown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f9ae1b/32.png) [@warrenbrown](https://www.ruby-forum.com/u/warrenbrown)\
**Post date:** [November 23, 2005, 3:58pm UTC](https://www.ruby-forum.com/t/re-string-range-membership/100716/1 "2005-11-23T15:58:12Z")

</div>

Brian,

> I’d argue that it is not a bug, as there is no unique  
> isomorphie from strings to integers.

```
I have to disagree.

```

> ruby -v -e “p((‘1’…‘10’).to\_a)”  
> ruby 1.8.2 (2004-12-25) [i386-mswin32]  
> [“1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”]

```
This shows a clear and unique mapping of the range '1'..'10' into a

```

set of strings.

```
- Warren B.
```

---

<div class="post-metadata">

**Author:** ![warrenbrown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f9ae1b/32.png) [@warrenbrown](https://www.ruby-forum.com/u/warrenbrown)\
**Post date:** [November 23, 2005, 4:06pm UTC](https://www.ruby-forum.com/t/re-string-range-membership/100716/2 "2005-11-23T16:06:17Z")

</div>

On Wed, 23 Nov 2005, Warren B. wrote:

> This shows a clear and unique mapping of the range ‘1’…‘10’ into a  
> set of strings.

but where do ‘01’, ‘001’, and ‘0001’ go? they too, are in the set of  
strings.

regards.

-a

---

<div class="post-metadata">

**Author:** ![warrenbrown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f9ae1b/32.png) [@warrenbrown](https://www.ruby-forum.com/u/warrenbrown)\
**Post date:** [November 23, 2005, 4:18pm UTC](https://www.ruby-forum.com/t/re-string-range-membership/100716/3 "2005-11-23T16:18:22Z")

</div>

Hi,

In message “Re: [BUG] string range membership”  
on Wed, 23 Nov 2005 23:57:41 +0900, “Warren B.”  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|\> I’d argue that it is not a bug, as there is no unique  
|\> isomorphie from strings to integers.  
|  
| I have to disagree.

For your information, member? used to iterate over items to check  
membership. But since confusion between include? and member?, they  
were merged. The point is Ranges are used both for ranges and  
intervals. Sometimes users want it to behave like a range surrounded  
by begin/end values. Sometimes they want it to behave like a set of  
values, that #each produces.

I’d like to care this issue, but I haven’t know the right way to solve  
it yet. Perhaps we should provide both membership method, with right  
names for each. Any ideas?

```
						matz.

```

---

<div class="post-metadata">

**Author:** ![warrenbrown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f9ae1b/32.png) [@warrenbrown](https://www.ruby-forum.com/u/warrenbrown)\
**Post date:** [November 23, 2005, 4:30pm UTC](https://www.ruby-forum.com/t/re-string-range-membership/100716/4 "2005-11-23T16:30:27Z")

</div>

On 23/11/05, Warren B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> This shows a clear and unique mapping of the range '1'..'10' into a
> 
> ```
> 
> set of strings.
> 
> ```
> - Warren B.
> 
> ```

It is not unique as

ruby -e “p %w(1 10 11 100 101).map { | b | b.to\_i(2) }”  
[1, 2, 3, 4, 5]

is another mapping of strings to integers that is equally valid (and  
would not contain ‘5’).

Brian

–  
[http://ruby.brian-schroeder.de/](http://ruby.brian-schroeder.de/)

Stringed instrument chords: [http://chordlist.brian-schroeder.de/](http://chordlist.brian-schroeder.de/)
