Привет! Сегодня мы окунемся в увлекательный мир Эликсира и исследуем один из его удобных методов под названием Enum.each
. Этот метод позволяет нам перебирать коллекции лаконично и выразительно. Так что берите свой любимый напиток, садитесь поудобнее и отправляйтесь в это путешествие вместе!
- Итерация по списку:
Начнем с простого примера. Представьте, что у нас есть список имен, и мы хотим вывести каждое имя на отдельной строке. Вот как мы можем добиться этого, используяEnum.each
:
names = ["Alice", "Bob", "Charlie"]
Enum.each(names, fn name ->
IO.puts(name)
end)
В приведенном выше фрагменте кода мы передаем список names
в Enum.each
вместе с анонимной функцией, которая принимает каждое имя в качестве аргумента. Внутри функции мы используем IO.puts
для печати каждого имени.
- Перечисление на карте:
Enum.each
не ограничивается списками; он также может обрабатывать карты. Допустим, у нас есть карта, представляющая корзину покупок, и мы хотим зарегистрировать подробную информацию о каждом товаре. Вот как мы можем это сделать:
cart = %{
"item1" => %{name: "Shirt", price: 19.99},
"item2" => %{name: "Shoes", price: 49.99},
"item3" => %{name: "Hat", price: 9.99}
}
Enum.each(cart, fn {key, value} ->
IO.puts("#{key}: #{value.name} - $#{value.price}")
end)
В этом примере мы перебираем пары ключ-значение карты cart
. Анонимная функция принимает каждую пару ключ-значение в качестве аргументов и записывает сведения об элементе, используя IO.puts
.
- Итерация с индексом.
Иногда во время итерации нам необходимо получить доступ как к элементу, так и к его индексу. К счастью,Enum.each
также предоставляет нам индекс. Давайте посмотрим, как мы можем его использовать:
fruits = ["Apple", "Banana", "Orange"]
Enum.each(fruits, fn {index, fruit} ->
IO.puts("#{index + 1}. #{fruit}")
end)
В приведенном выше коде мы разбиваем аргументы на index
и fruit
. Затем мы используем IO.puts
для отображения индекса и названия фрукта.
Поздравляем! Вы узнали о универсальном методе Enum.each
в Elixir. Мы исследовали его использование со списками, картами и даже продемонстрировали, как получить доступ к индексам во время итерации. Теперь, вооружившись этими знаниями, вы можете стильно и эффективно перебирать коллекции в своих проектах Elixir.
Итак, независимо от того, являетесь ли вы новичком или опытным разработчиком Elixir, Enum.each
— это мощный инструмент, который нужно иметь в своем арсенале. Приятного кодирования!