У меня есть это значение как
%{is_public: true, discoverable: true}
Это может быть что-то не определенно is_public
и discoverable
, но все keys
, которые будут выше Map
, будут доступны в struct
камеры.
%Camera{
__meta__: #Ecto.Schema.Metadata<:loaded, "cameras">,
created_at: #DateTime<2017-08-25 14:13:55.524563Z>,
discoverable: true,
exid: "everc-fhlcr",
id: 12769,
is_online: true,
is_online_email_owner_notification: false,
is_public: true,
last_online_at: #DateTime<2019-05-14 11:10:45.000000Z>,
last_polled_at: #DateTime<2019-05-14 11:10:47.000000Z>,
}
Я хочу получить значения из структуры Camera
на основе Map
т.е. 1014 *
iex(4)> changes = %{is_public: true, discoverable: true} |> Map.keys
[:discoverable, :is_public]
Я могу получить ключи от карты изменений с помощью Map.keys
Но я не уверен, как отобразить значения из структуры камеры.
сверху Camera Struct и изменяет карту, я хочу получить этот тип карты.
%{
is_public: true,
discoverable: true
}
похоже на ту же карту выше, но это зависит от значений Camera Struct, они оба могут быть ложными или истинными, так же как и id, exid, is_online.
Если я сделаю это
Enum.map(changed_keys, fn(key) ->
key: Map.get(camera, key)
end)
Это все еще не работает, любая помощь будет заметна. спасибо
Я просто хочу создать карту с анонимными ключами в changes
Карта, а затем получить их значения из Camera
Структурировать и создать новую карту с этими значениями и ключами анонимных пользователей.