We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Post 8
Kernel put_in/3 update_in/3 and anonymous
Published on: 2025-04-03
Tags:
Agents, Kernel, anonymous
So I wanted to go over a couple built-in functions that really helped me increase the legibility of my code. put_in/3: this is used to add in a key pair within a map, update_in/3 this is used to update a key pair within a map... So what is the big deal we have Map.put and Map.update... put_in and update_in can use paths. This turns a nested Map.put into a single function call. They follow a syntax as follows: put_in(data, keys, value) Where data can be as deep into a nested map as you want. users = %{"john" => %{age: 27}, "meg" => %{age: 23}} put_in(users, ["john", :age], 28) You can even change the value into a function, while using the update_in/3. Now let's talk about Anonymous functions, because you can add in an anonymous function to the update_in/3 update_in(users, ["jane", :age], &(&1 + 1)) Lets break this down &(..) is setting up an anonymous function &1 takes the first argument +1 will add one You can even use this to add an item to a list &([new_item | &1] Try to use these new functions to add more clean code to your elixir code.
