-6ren">
gpt4 book ai didi

elixir - 如何将任何给定函数映射到值列表上?

转载 作者:行者123 更新时间:2023-12-02 08:43:49 24 4
gpt4 key购买 nike

我正在按字符拆分字符串,并希望修剪生成的拆分中的所有项目。我希望以下内容可以作为 String.trim/1 工作存在:

iex> "My delimited ! string of doom" |> String.split("!") |> Enum.map(String.trim)
** (UndefinedFunctionError) function String.trim/0 is undefined or private. Did you mean one of:

* trim/1
* trim/2

(elixir) String.trim()

我收到一个UndefinedFunctionError,表明函数String.trim/0不存在。我想要的可以通过传递给 Enum.map 的匿名函数轻松完成:

iex> "My delimited ! string of doom" |> String.split("!") |> Enum.map(fn (word) -> String.trim(word) end)
["My delimited", "string of doom"]

Enum.map/2需要匿名函数作为第二个参数吗?是否可以将我想要的函数作为参数给出?

最佳答案

您需要使用&运算符Capture operator

试试这个:

iex()> "my delimited ! string of doom" |> String.split("!") |> Enum.map(&String.trim/1)
["my delimited", "string of doom"]

关于elixir - 如何将任何给定函数映射到值列表上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39461665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com