Перебор массива в Elixir - PullRequest
       7

Перебор массива в Elixir

0 голосов
/ 10 февраля 2019

У меня есть массив вида:

[
  [~N[2019-02-08 00:00:00.000000], 1],
  [~N[2019-02-02 00:00:00.000000], 8],
  [~N[2019-02-05 00:00:00.000000], 2]
]

Скажем, например, я хочу преобразовать все datetime в _string.Какой лучший способ сделать это?

1 Ответ

0 голосов
/ 10 февраля 2019

Модуль enum - это то место, куда нужно обращаться, когда вам нужно работать с перечислимыми.Enum.map принимает перечисляемое (список в нашем случае) в качестве первого аргумента, а функцию преобразования - в качестве второго аргумента.

[
  [~N[2019-02-08 00:00:00.000000], 1],
  [~N[2019-02-02 00:00:00.000000], 8],
  [~N[2019-02-05 00:00:00.000000], 2]
]
|> Enum.map(fn [dt, num] -> [to_string(dt), num] end)

Результат:

[
  ["2019-02-08 00:00:00.000000", 1],
  ["2019-02-02 00:00:00.000000", 8],
  ["2019-02-05 00:00:00.000000", 2]
]

PS, чтоназывается списком (на самом деле это связанный список), а не массивом.

...