I commonly need to flip the keys/values when using Map.new, why not add an
option to Map.new? I don’t like this name, but this reads pretty nicely to
me

list
|> Enum.with_index()
|> Map.new(flip: true)

On Tue, Dec 8, 2020 at 4:35 PM Austin Ziegler <halosta...@gmail.com> wrote:

> I’m not opposed to the idea, but wouldn’t that map be easily done with:
>
>     Map.new(Enum.with_index(data), fn {v, k} -> {k, v} end)
>
> The biggest advantage of Map.new(Enum.index(data)) is that the number of
> tuple creations is halved.
>
> -a
>
> On Tue, Dec 8, 2020 at 4:10 PM José Valim <jose.va...@dashbit.co> wrote:
>
>> The main reason for an index function is to make it easier to build a map:
>>
>>     Map.new Enum.index(data)
>>
>> I agree the duplicity between noun and verb is undesirable though.
>>
>> On Tue, Dec 8, 2020 at 9:52 PM Kelvin Raffael Stinghen <
>> kelvin.sting...@gmail.com> wrote:
>>
>>> I can't see why not just `x |> Stream.with_index() |> Stream.map(fn {v,
>>> i} -> {i, v} end)`... I mean, lots of proposals for similar functions got
>>> denied because it would be easy to develop a lib that does it cause Elixir
>>> is awesomely extensible, so why bothering add another variant? Do you have
>>> to do that too many times on Elixir core or something like that?
>>>
>>> Em terça-feira, 8 de dezembro de 2020 às 17:44:45 UTC-3,
>>> gva...@gmail.com escreveu:
>>>
>>>> If this is related to the mystery benchmark tweets, José, then I guess
>>>> I'm in favor of the proposal :-)
>>>>
>>>> I do prefer Felipe's name of `Enum.indexed/1` though. While `index` can
>>>> be a verb, it's ambiguous with the noun. `indexed` is clearly a past tense
>>>> verb.
>>>>
>>>> -Greg Vaughn
>>>>
>>>> > On Dec 8, 2020, at 2:13 PM, José Valim <jose....@dashbit.co> wrote:
>>>> >
>>>> > I considered the option but I prefer to avoid using options that
>>>> change the return type.
>>>> >
>>>> > On Tue, Dec 8, 2020 at 9:11 PM Felipe Stival <v0i...@gmail.com>
>>>> wrote:
>>>> > I'm not sure. Sounds a bit ambiguous, couldn't this be an option for
>>>> a new Enum.with_index/3?
>>>> >
>>>> > Em ter., 8 de dez. de 2020 às 17:05, José Valim <jose....@dashbit.co>
>>>> escreveu:
>>>> > I would like to propose an Enum.index/2 function. It behaves like
>>>> with_index/2 but the index is the first argument:
>>>> >
>>>> > iex> Enum.index([:a, :b, :c])
>>>> > [{0, :a}, {1, :b}, {2, :c}]
>>>> >
>>>> > I am hoping it reads "index" this tuple (hence the index as the first
>>>> element. While with_index means attach an index information to each element
>>>> (hence the second element). Is this sound?
>>>> >
>>>> > Thank you,
>>>> >
>>>> >
>>>> > --
>>>> > You received this message because you are subscribed to the Google
>>>> Groups "elixir-lang-core" group.
>>>> > To unsubscribe from this group and stop receiving emails from it,
>>>> send an email to elixir-lang-co...@googlegroups.com.
>>>> > To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4K6h7c1UbiEfoEsyCXGJRbO8he%3DFJ84yxC%2B3-GOo-2MwQ%40mail.gmail.com.
>>>>
>>>> >
>>>> >
>>>> > --
>>>> >
>>>> > Felipe Stival, Electrical Engineering Student
>>>> > Santa Maria, Rio Grande do Sul
>>>> > Brasil
>>>> > v0idpwn.github.io
>>>> >
>>>> >
>>>> > --
>>>> > You received this message because you are subscribed to the Google
>>>> Groups "elixir-lang-core" group.
>>>> > To unsubscribe from this group and stop receiving emails from it,
>>>> send an email to elixir-lang-co...@googlegroups.com.
>>>> > To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/elixir-lang-core/CAKC64%2Bx4zERK_axkS2puMT9Qa8dJKYEh_Z3QNDf977eJG0-6aw%40mail.gmail.com.
>>>>
>>>> >
>>>> > --
>>>> > You received this message because you are subscribed to the Google
>>>> Groups "elixir-lang-core" group.
>>>> > To unsubscribe from this group and stop receiving emails from it,
>>>> send an email to elixir-lang-co...@googlegroups.com.
>>>> > To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4Kj%3DS54yn-1jmoaG%2BKEab9ZLpagHYDfpNEu%2BSbtTdj%2B4g%40mail.gmail.com.
>>>>
>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "elixir-lang-core" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to elixir-lang-core+unsubscr...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/elixir-lang-core/84a8a35f-13b7-4b83-95b5-2c414df6cc04n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/elixir-lang-core/84a8a35f-13b7-4b83-95b5-2c414df6cc04n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "elixir-lang-core" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to elixir-lang-core+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4LVZ%2BDSd3tuUe-Y0Rczn1p8aL69-mDYNVYtoBy_P%3D6kRA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/elixir-lang-core/CAGnRm4LVZ%2BDSd3tuUe-Y0Rczn1p8aL69-mDYNVYtoBy_P%3D6kRA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
> Austin Ziegler • halosta...@gmail.com • aus...@halostatue.ca
> http://www.halostatue.ca/http://twitter.com/halostatue
>
> --
> You received this message because you are subscribed to the Google Groups
> "elixir-lang-core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to elixir-lang-core+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elixir-lang-core/CAJ4ekQttydio6-34Rn_BkuYBRTMF%3DyfL7j2bNiwY2RuQjqMrEQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/elixir-lang-core/CAJ4ekQttydio6-34Rn_BkuYBRTMF%3DyfL7j2bNiwY2RuQjqMrEQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAK-yb0B4dA-U%2BH4nUtNfcFLDqEmf2JfkTVScENTGR%3DgiY57Ttg%40mail.gmail.com.

Reply via email to