Elixir:
Використання асоціативних масивів
Як:
Створення Карти - це просто. Використовуйте синтаксис %{}
, ось так:
my_map = %{"name" => "Олексій", "age" => 32}
IO.inspect(my_map)
Доступ до значень відбувається за допомогою ключів:
IO.puts my_map["name"]
Вивід: Олексій
Для додавання або оновлення значень ви можете використати функцію Map.put/3
:
updated_map = Map.put(my_map, "location", "НЮ")
IO.inspect(updated_map)
Вивід: %{"age" => 32, "location" => "НЮ", "name" => "Олексій"}
Видалення ключів так само просте з Map.delete/2
:
trimmed_map = Map.delete(updated_map, "age")
IO.inspect(trimmed_map)
Вивід: %{"location" => "НЮ", "name" => "Олексій"}
Занурення в тему
Карти в Elixir є еволюцією старіших типів зберігання ключ-значення, як-от Хеші в Ruby або Словники у Python. Вони дозволяють здійснювати ефективніші пошуки та вставки, ставши ідеальним вибором для сучасного програмування на Elixir. Варто зазначити, що до Карт Elixir використовував модулі HashDict та Dict, які зараз застарілі.
Втім, для сценаріїв, що потребують упорядкованих даних, ви могли б розглянути ключові списки в Elixir. Це списки кортежів, ефективні для менших колекцій, але не такі зручні для великих наборів даних, як Карти.
Зверніть увагу, що Карти зберігають свої ключі в “плоскій” структурі, що робить прямий доступ до вкладених значень трохи складним. Для глибокого вкладення ви могли б розглянути структурований доступ через функції get_in
, put_in
, update_in
, та get_and_update_in
, які дозволяють динамічніший підхід до маніпулювання вкладеними даними.
Підсумовуючи, хоча Карти є вашим першочерговим вибором для потреб асоціативних масивів в Elixir, мова пропонує багатий вибір структур даних для кожного сценарію, заохочуючи вас вибирати найкращий інструмент для роботи.