我有一個地址列表,我需要修復記錄,其中一些記錄的房屋號碼是一個範圍,我需要將它分成多個記錄。我如何枚舉列表並修復/複製記錄?在Elixir中將項目拆分爲多個項目
defmodule EnumTesting do
def list_stuff() do
list = [ %{street: "street", nr: "2" }, %{street: "street", nr: "4" }, %{street: "street", nr: "6-10" } ]
list |> Enum.filter(&needs_fixing?(&1))
end
defp needs_fixing?(item) do
String.contains?(item.nr, "-")
end
end
預期結果:
[ %{street: "street", nr: "2" }, %{street: "street", nr: "4" }, %{street: "street", nr: "6" }, %{street: "street", nr: "8" }, %{street: "street", nr: "10" } ]
爲什麼預期的結果不是nr'7'和'9'? – Dogbert
@Dogbert,因爲在許多國家,街道的一側甚至另一側的街道數字都很奇怪。這方面甚至:) – mudasobwa
@mudasobwa那麼問題似乎不清楚。如果nr是「8-11」(偶數)會怎麼樣?如果是「7-10」(奇數偶數)呢? – Dogbert