Given:
defmodule Foo do
def main do
fast_cars =
[
%{color: "Red", make: "Mclaren", mileage: 15641.469},
%{color: "Blue", make: "Ferrari", mileage: 120012.481},
%{color: "Red", make: "Ferrari", mileage: 29831.021},
%{color: "Black", make: "Ferrari", mileage: 24030.674},
%{color: "Cobalt", make: "Ferrari", mileage: 412.811},
%{color: "Blue", make: "Koenigsegg", mileage: 250.762},
%{color: "Cobalt", make: "Koenigsegg", mileage: 1297.76},
%{color: "Titanium", make: "Koenigsegg", mileage: 5360.336},
%{color: "Blue", make: "Maserati", mileage: 255.78}
]
Enum.map(
fast_cars,
fn element -> Map.to_list(element)
|> List.to_tuple
end)
end
end
Desired output:
[
{color: "Red", make: "Mclaren", mileage: 15641.469},
{color: "Blue", make: "Ferrari", mileage: 120012.481},
{color: "Red", make: "Ferrari", mileage: 29831.021},
{color: "Black", make: "Ferrari", mileage: 24030.674},
{color: "Cobalt", make: "Ferrari", mileage: 412.811},
{color: "Blue", make: "Koenigsegg", mileage: 250.762},
{color: "Cobalt", make: "Koenigsegg", mileage: 1297.76},
{color: "Titanium", make: "Koenigsegg", mileage: 5360.336},
{color: "Blue", make: "Maserati", mileage: 255.78}
]
Here’s what I’m getting instead:
iex(1)> Foo.main
[
{{:color, "Red"}, {:make, "Mclaren"}, {:mileage, 15641.469}},
{{:color, "Blue"}, {:make, "Ferrari"}, {:mileage, 120012.481}},
{{:color, "Red"}, {:make, "Ferrari"}, {:mileage, 29831.021}},
{{:color, "Black"}, {:make, "Ferrari"}, {:mileage, 24030.674}},
{{:color, "Cobalt"}, {:make, "Ferrari"}, {:mileage, 412.811}},
{{:color, "Blue"}, {:make, "Koenigsegg"}, {:mileage, 250.762}},
{{:color, "Cobalt"}, {:make, "Koenigsegg"}, {:mileage, 1297.76}},
{{:color, "Titanium"}, {:make, "Koenigsegg"}, {:mileage, 5360.336}},
{{:color, "Blue"}, {:make, "Maserati"}, {:mileage, 255.78}}
]
Assuming this is possible, how should Foo.main
be corrected to get the desired output? Thanks so much for your concrete guidance!