如何将所有Enum.map值转换为字符串?

时间:2019-02-02 12:50:51

标签: elixir ecto

如何将所有Enum.map值转换为字符串?

result =
  Enum.map(
    from(Scheme, where: ^whitelisted_params) |> limit(^query_limit) |> Repo.all(),
    fn elem ->
      elem |> Map.from_struct() |> Map.delete(:__meta__)
    end
  )

在该方案中,有stringboolint类型

2 个答案:

答案 0 :(得分:2)

使用的 to_string / 1 功能

下面是整数,浮点,字符串和布尔值的数组转换成字符串

iex> [1, 1.0, "str", true] |> Enum.map(& to_string/1)
["1", "1.0", "str", "true"]

答案 1 :(得分:0)

我认为您正在寻找Kernel.inspect/2。与IO.inspect/2不同,它返回字符串而不是将其打印为副作用。

iex> Enum.map(["I'm a string", true, 42], &inspect/1)
["\"I'm a string\"", "true", "42"]

尽管S.B.的评论可能暗示了这一点,但您的问题听起来像是XY question。我认为您应该在问题中写下为什么要尝试转换为字符串。如果您解释要完成的较大任务,那么也许有人可以提供更好的解决方案。