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

Elixir 如何将所有Enum.map值转换为字符串?,elixir,ecto,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 ) 在方案中,有string、bool和int类型使用

如何将所有
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
  )

在方案中,有
string
bool
int
类型

使用to_string/1功能

这是一个将整型、浮点、字符串和布尔值转换为字符串的数组

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

使用to_string/1功能

这是一个将整型、浮点、字符串和布尔值转换为字符串的数组

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

我想你在找我。与IO.inspect/2不同,它返回字符串,而不是作为副作用打印

iex>Enum.map([“我是一个字符串”,true,42],&inspect/1)
[“\”我是字符串“,”真“,”42”]

虽然S.B.的评论可能暗示了这一点,但你的问题听起来像是一个问题。我想你应该在你的问题中写下你为什么要转换成字符串。如果你解释了你要完成的更大的任务,也许有人能提供更好的解决方案。

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

iex>Enum.map([“我是一个字符串”,true,42],&inspect/1)
[“\”我是字符串“,”真“,”42”]

虽然S.B.的评论可能暗示了这一点,但你的问题听起来像是一个问题。我想你应该在你的问题中写下你为什么要转换成字符串。如果你解释了你要完成的更大的任务,可能有人能提供更好的解决方案。

问题是什么?结果值包含混合int、string、bool,我想将所有值都转换为string,所以你尝试将所有值转换为string。但是问题是什么?怎么做,先生,我把你的问题改成了一个问题。问题是什么?结果值包含int,string,bool混合值,我想把它们全部转换成string,所以你想把它们全部转换成string。但是问题是什么?怎么做,先生,我把你的问题改成了问句。协议字符串。字符没有为{:address,“jl.haji”}实现。此协议的实现对象为:Atom、BitString、Date、DateTime、Decimal、Float、Integer、List、Mariaex.Query、NaiveDateTime、Postgrex.Copy、Postgrex.Query、Time、URI、Version、Version、Version.Requirementa您在Phoenix中使用它吗?看起来您有嵌套结构。然后可以在视图文件中进行转换。您试图将它们转换为字符串的原因是什么?没有为{:address,“jl.haji”}实现协议string.Chars。此协议的实现对象为:Atom、BitString、Date、DateTime、Decimal、Float、Integer、List、Mariaex.Query、NaiveDateTime、Postgrex.Copy、Postgrex.Query、Time、URI、Version、Version、Version.Requirementa您在Phoenix中使用它吗?看起来您有嵌套结构。然后可以在视图文件中进行转换。您试图将它们转换为字符串的原因是什么?