Set constructor arguments
Axel Rauschmayer
axel at rauschma.de
Mon Feb 13 01:20:58 PST 2012
True. Assuming that the spread operator works on any iterable, it is also the same as
new Set(...iterable)
On Feb 13, 2012, at 10:14 , Andrea Giammarchi wrote:
> Set.fromIterable() as factory is basically same as
>
> var s = Set.apply(null, ['alpha', 'beta']);
>
> since as it is for all native functions the constructor is a factory itself and no need to "new"
>
> my 2 cents,
> br
>
> On Mon, Feb 13, 2012 at 10:01 AM, Axel Rauschmayer <axel at rauschma.de> wrote:
> My suspicion: All these features make sense for the full-blown collections API, but for sets I’m not sure at which point they wouldn’t be “simple”, any more.
>
> Oliver Hunt makes a good case: “With the existence of the spread operator I think that there's a good
> argument in favour of the multiple parameters approach.”
>
> An additional option is to introduce a “static” factory method: Set.fromIterable().
>
>
> On Feb 13, 2012, at 4:29 , Michael A. Smith wrote:
>
>> …But we wouldn't want to require the arguments to the set constructor
>> to require instantiation itself/themselves, right? If a set has to be
>> constructed with an Iterable, and cannot (also) be constructed with
>> individual atoms, then you'll end up with use cases like Set(['foo',
>> 'bar', 'baz']), which requires two constructions, one of which is
>> essentially a waste. If allowing both forms of the constructor is
>> distasteful, then why not just go with the multiple parameters,
>> approach, and implement toSet() as a method on appropriate Iterables?
>>
>> -Michael A. Smith
>>
>> On Sun, Feb 12, 2012 at 9:29 PM, Erik Arvidsson
>> <erik.arvidsson at gmail.com> wrote:
>>> The default argument should probably just be an iterable.
>>>
>>> On Feb 12, 2012 4:50 PM, "Oliver Hunt" <oliver at apple.com> wrote:
>>>>
>>>> I saw a reference to it being modified to take an array(-like?) as a
>>>> parameter. While I can see an argument in favour of a single array argument
>>>> I can also see using a set of parameters that initially populate the set.
>>>> We just shouldn't allow both (and introduce another version of the horror
>>>> that is the Array constructor).
>>>>
>>>> With the existence of the spread operator I think that there's a good
>>>> argument in favour of the multiple parameters approach.
>
> --
> Dr. Axel Rauschmayer
> axel at rauschma.de
>
> home: rauschma.de
> twitter: twitter.com/rauschma
> blog: 2ality.com
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
--
Dr. Axel Rauschmayer
axel at rauschma.de
home: rauschma.de
twitter: twitter.com/rauschma
blog: 2ality.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120213/dfacc78d/attachment.html>
More information about the es-discuss
mailing list