rms.mrcs
Hi,
I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. I’ve managed to do this using the following code:
def indexed_map(list, index \\ 1, step \\ 1) do
to_indexed_map(list, index,step, %{})
end
defp to_indexed_map([h|t], i, s, acc),do: to_indexed_map(t, i + s, s, Map.put(acc, i, h))
defp to_indexed_map([], _, _, acc), do: acc
Basically if I apply this function to
[100, 200, 300]
it will return
%{1 => 100, 2 => 200, 3 => 300}
Is there any way to the same using Elixir’s standard library? I tried Enum.map, Enum.reduce and even Enum.map_reduce but I just couldn’t figure out how to it using them.
Thanks
Trending in Questions
I having some trouble figuring out if I have set myself too strict of standards for my production server. Currently I can handle 75% of r...
New
Hello,
I’m trying to build a basic Phoenix web-app, and I’d like to use Tailwind.
However, when I launch mix phx.server, I get an error...
New
I really like the adapter patterns that ecto, nebulex, waffle, etc. use and would love find something similar for a key management servic...
New
Hello folks!
So at work, we are seeing some situations where we have to define some “fixed” strings that are used across the codebase in...
New
I’m working on a small exercise involving update_in/3, and I came up with this solution:
data = %{
name: "Periodic Table",
category:...
New
I’ve got trouble wrapping my head around the order in which functions are called in this snippet (from Phoenix’s authentication):
toke...
New
Is there any way to avoid the Hologram compiler running when using iex? It seems like the front-end code could potentially be disregarded...
New
Other Trending Topics
Edit: 2026 May 15 - This post is archived.
Mob is alive!!
Main docs: mob v0.7.11 — Documentation
A bit of explanation for the slightly c...
New
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
A little off-topic, but I feel like people here have a good head on their shoulders.
I used to be quite good at making software. Was luc...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #ai
- #podcasts-by-brainlid
- #ecto-query
- #blog-post
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #metaprogramming










Showing Posts 1 to 9- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
Linuus
Something like this should work:
Or this
andre1sk
There is prob a better way then this:
rms.mrcs
Thanks.
I always used only this form:
How exactly the
{v, k}is filled by Elixir like in:?
EDIT: Nevermind, I figured it out in the docs (is the
Enum.with_indexfunction)rms.mrcs
Thank you
Linuus
The
{v, k}is just a pattern match on the values coming in..with_indexreturns tuples of the value and the index.Like this:
So for each value I just destruct the passed in tuple, like
{v, k} = {100, 1}.rms.mrcs
Got it
Thanks!
OvermindDL1
Or shorter (by actually creating the tuple in-order instead of needing to swap it and not getting the
lengthof a list, which can beO(n)instead ofO(1)):An aside, I wish
0..was a shortcut for(Stream.iterate(0, &(&1+1)), or maybe0...1means(Stream.iterate(0, &(&1+1))like0...-4means(Stream.iterate(0, &(&1-4))or so, ah well I wish, but it does not for now. Hmm, lot of ideas popping into mind for such a syntax, we need a Stream.seq/1.Qqwy
You might like the Sequences Hex package that I made a while back. It defines streams for quite a few common numeric sequences.
OvermindDL1
Huh, nice! Not ran across that yet.