[#8997] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Mathieu Bouchard <matju@...>

On Tue, 3 Oct 2006, matz wrote:

77 messages 2006/10/04
[#8998] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Yukihiro Matsumoto <matz@...> 2006/10/04

Hi,

[#9029] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Mathieu Bouchard <matju@...> 2006/10/08

On Wed, 4 Oct 2006, Yukihiro Matsumoto wrote:

[#9030] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Yukihiro Matsumoto <matz@...> 2006/10/08

Hi,

[#9034] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Dave Burt <dave@...> 2006/10/09

Yukihiro Matsumoto wrote:

[#9041] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Yukihiro Matsumoto <matz@...> 2006/10/09

Hi,

[#9042] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — dblack@... 2006/10/09

Hi --

[#9043] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Yukihiro Matsumoto <matz@...> 2006/10/09

Hi,

[#9044] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — dblack@... 2006/10/09

Hi --

[#9045] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Yukihiro Matsumoto <matz@...> 2006/10/09

Hi,

[#9047] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — dblack@... 2006/10/09

Hi --

[#9050] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — James Edward Gray II <james@...> 2006/10/09

On Oct 9, 2006, at 10:19 AM, dblack@wobblini.net wrote:

[#9053] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Eero Saynatkari <ruby-ml@...> 2006/10/09

On 2006.10.10 00:31, James Edward Gray II wrote:

[#9055] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — James Edward Gray II <james@...> 2006/10/09

On Oct 9, 2006, at 11:50 AM, Eero Saynatkari wrote:

[#9056] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — dblack@... 2006/10/09

Hi --

[#9054] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — dblack@... 2006/10/09

Hi --

[#9066] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Yukihiro Matsumoto <matz@...> 2006/10/09

Hi,

[#9072] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — dblack@... 2006/10/10

Hi --

[#9083] Re: [ruby-cvs:18323] ruby: * eval.c (splat_value): use "to_splat" instead of "to_ary" to — Yukihiro Matsumoto <matz@...> 2006/10/10

Hi,

[#9119] What about 'splay'? — dblack@...

Hi --

37 messages 2006/10/11
[#9122] Re: What about 'splay'? — Eero Saynatkari <ruby-ml@...> 2006/10/11

On 2006.10.12 02:32, dblack@wobblini.net wrote:

[#9127] Re: What about 'splay'? — Sean Russell <ser@...> 2006/10/11

On Wednesday 11 October 2006 13:55, Eero Saynatkari wrote:

[#9188] Symbol < String in Ruby > 1.8 — dblack@...

Hi --

107 messages 2006/10/15
[#9192] Re: Symbol < String in Ruby > 1.8 — Yukihiro Matsumoto <matz@...> 2006/10/16

Hi

[#9212] Re: Symbol < String in Ruby > 1.8 — Charles Oliver Nutter <Charles.O.Nutter@...> 2006/10/17

Yukihiro Matsumoto wrote:

[#9238] Re: Symbol < String in Ruby > 1.8 — Charles Oliver Nutter <Charles.O.Nutter@...> 2006/10/18

Charles Oliver Nutter wrote:

[#9244] Re: Symbol < String in Ruby > 1.8 — Sam Roberts <sroberts@...> 2006/10/18

On Thu, Oct 19, 2006 at 05:06:02AM +0900, Charles Oliver Nutter wrote:

[#9255] Re: Symbol < String in Ruby > 1.8 — Yukihiro Matsumoto <matz@...> 2006/10/19

Hi,

[#9256] Re: Symbol < String in Ruby > 1.8 — Sam Roberts <sroberts@...> 2006/10/19

Quoting matz@ruby-lang.org, on Thu, Oct 19, 2006 at 01:40:42PM +0900:

[#9190] Re: Symbol < String in Ruby > 1.8 — "Rick DeNatale" <rick.denatale@...> 2006/10/16

On 10/15/06, dblack@wobblini.net <dblack@wobblini.net> wrote:

[#9191] Re: Symbol < String in Ruby > 1.8 — dblack@... 2006/10/16

Hi --

[#9194] Re: Symbol < String in Ruby > 1.8 — "Rick DeNatale" <rick.denatale@...> 2006/10/16

On 10/15/06, dblack@wobblini.net <dblack@wobblini.net> wrote:

[#9196] Re: Symbol < String in Ruby > 1.8 — Yukihiro Matsumoto <matz@...> 2006/10/16

Hi,

[#9202] Re: Symbol < String in Ruby > 1.8 — "Rick DeNatale" <rick.denatale@...> 2006/10/16

On 10/16/06, Yukihiro Matsumoto <matz@ruby-lang.org> wrote:

[#9203] Re: Symbol < String in Ruby > 1.8 — James Edward Gray II <james@...> 2006/10/16

On Oct 16, 2006, at 3:06 PM, Rick DeNatale wrote:

[#9205] String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — Sam Roberts <sroberts@...> 2006/10/16

On Tue, Oct 17, 2006 at 05:14:09AM +0900, James Edward Gray II wrote:

[#9218] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — "Rick DeNatale" <rick.denatale@...> 2006/10/17

On 10/16/06, Sam Roberts <sroberts@uniserve.com> wrote:

[#9220] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — Nobuyoshi Nakada <nobu@...> 2006/10/17

Hi,

[#9225] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — dblack@... 2006/10/18

Hi --

[#9226] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — James Edward Gray II <james@...> 2006/10/18

On Oct 17, 2006, at 7:29 PM, dblack@wobblini.net wrote:

[#9230] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — dblack@... 2006/10/18

Hi --

[#9231] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — Eric Hodel <drbrain@...7.net> 2006/10/18

On Oct 18, 2006, at 4:18 AM, dblack@wobblini.net wrote:

[#9232] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — "Nikolai Weibull" <now@...> 2006/10/18

On 10/18/06, Eric Hodel <drbrain@segment7.net> wrote:

[#9234] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — mathew <meta@...> 2006/10/18

On 10/18/06, Nikolai Weibull <now@bitwi.se> wrote:

[#9236] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — "Nikolai Weibull" <now@...> 2006/10/18

On 10/18/06, mathew <meta@pobox.com> wrote:

[#9237] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — Mauricio Fernandez <mfp@...> 2006/10/18

On Thu, Oct 19, 2006 at 04:24:24AM +0900, Nikolai Weibull wrote:

[#9240] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — "Nikolai Weibull" <now@...> 2006/10/18

On 10/18/06, Mauricio Fernandez <mfp@acm.org> wrote:

[#9242] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — dblack@... 2006/10/18

Hi --

[#9247] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — "Rick DeNatale" <rick.denatale@...> 2006/10/19

On 10/18/06, dblack@wobblini.net <dblack@wobblini.net> wrote:

[#9250] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — Jim Weirich <jim@...> 2006/10/19

Rick DeNatale wrote:

[#9261] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — dblack@... 2006/10/19

Hi --

[#9262] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — Yukihiro Matsumoto <matz@...> 2006/10/19

Hi,

[#9264] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — dblack@... 2006/10/19

Hi --

[#9267] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — "Nikolai Weibull" <now@...> 2006/10/19

On 10/19/06, dblack@wobblini.net <dblack@wobblini.net> wrote:

[#9277] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — dblack@... 2006/10/19

Hi --

[#9285] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — "Nikolai Weibull" <now@...> 2006/10/20

On 10/19/06, dblack@wobblini.net <dblack@wobblini.net> wrote:

[#9288] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — dblack@... 2006/10/20

Hi --

[#9289] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — Jim Weirich <jim@...> 2006/10/20

dblack@wobblini.net wrote:

[#9294] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — Yukihiro Matsumoto <matz@...> 2006/10/20

Hi,

[#9300] Re: String not enumerable, what about IO? (was Re: Symbol < String in Ruby > 1.8) — dblack@... 2006/10/20

Hi --

Re: String not enumerable, what about IO?

From: dblack@...
Date: 2006-10-20 01:51:30 UTC
List: ruby-core #9283
Hi --

On Fri, 20 Oct 2006, Michael Selig wrote:

> I am fairly new to ruby, and I have just started listening to this mailing
> list, so please don't flame me too much if I get things wrong!
>
> ----- Original Message -----
> From: "Mauricio Fernandez" <mfp@acm.org>
>>
>> What about:
>> * defining String#to_enum, which would accept an argument (:lines, :chars
> or
>>   :bytes) defaulting to :lines. Note that right now (in HEAD)
> "foo".to_enum
>>   ends up using Kernel#to_enum, raising a NameError (undefined #each for
> class
>>   String).
>> * making  str.lines (chars, bytes) equivalent to
>>   str.to_enum(:lines).to_a  (respectively :chars, :bytes)
>
> Though I have never used it, doesn't Ruby already have something (admitedly
> rather long-winded) to do this called Enumerable::Enumerator?
>
> I would also like to add my 2 cents worth to this discussion.
>
> I have found Enumerables rather confusing, as there are many variants of
> "each" in a number of different classes.

That's sort of the point :-)  All of the other enumerable methods --
select, reject, inject, etc. -- are built on top of each.  If you
define an each method for your class and mix in Enumerable, you get
all the enumerable methods for free.

> What I would prefer (and this would probably be a major change to the
> implementation) is to be able to treat ALL enumerable classes as Arrays. In
> other words, I'd like to suggest that Array and Enumerable effectively be
> the same thing, and that "Array" would be the superclass instead of
> "Enumerable".

Enumerable isn't a superclass; it's a module.  Don't forget you can
mix it in to your own classes, so it's not just a matter of the
behavior of Ruby core classes that are Enumerable.

Also, in some respects Array is the common currency of Enumerables, in
the sense that a lot of Enumerable methods return arrays.  But that
doesn't mean that Array itself is more Enumerable, so to speak, than
other Enumerable classes.

> Of course this would only be on the surface - underneath the implementation
> of each would probably have to be different for efficiency.
>
> Thius would add possibly useless methods like Range#[], but why not?

Because they're useless.  I'd like to see things refactored a bit in
Enumerable and the related classes (e.g., push each_with_index down
into the individual classes), but I would not like to see useless
methods.

> Most enumerable classes are ordered, so the Array#[] method would
> work fine.  Hashes are an exception, and obviously Hash#[] would be
> different.

I'm not getting a clear picture of what you're proposing.  How would I
write an Enumerable class?  It sounds like I'd have to subclass Array,
which definitely isn't equivalent to what Enumerable offers.


David

-- 
                   David A. Black | dblack@wobblini.net
Author of "Ruby for Rails"   [1] | Ruby/Rails training & consultancy [3]
DABlog (DAB's Weblog)        [2] | Co-director, Ruby Central, Inc.   [4]
[1] http://www.manning.com/black | [3] http://www.rubypowerandlight.com
[2] http://dablog.rubypal.com    | [4] http://www.rubycentral.org

In This Thread