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.