Использование ассоциативных массивов

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, язык предлагает богатое разнообразие структур данных для любого сценария, поощряя вас выбирать правильный инструмент для работы.