gpt4 book ai didi

elixir - 如何将 Enum.join 的结果通过管道传输到 Elixir 中的 Regex.scan?

转载 作者:行者123 更新时间:2023-12-04 22:10:37 25 4
gpt4 key购买 nike

从管道运算符的文档中,我看到“上面代码片段中使用的 |> 符号是管道运算符:它只是从左侧的表达式中获取输出并将其作为第一个参数传递给右侧的函数调用边。”。

但是,如果我有一个要拆分的字符串,然后将其加入并希望将该加入的字符串输入到下面的 Regex.scan 中,我该怎么做?当我尝试运行以下命令时,我在捕获之外遇到了未处理的编译错误 &1 ......我认为这是由于我对如何捕获管道操作符输出并将其用作参数缺乏了解。

string
|> String.split(" ")
## some other operations here to operate on split string omitted for clarity
|> Enum.join
|> Regex.scan(~r/[A-Z]/, &1)
|> List.flatten
|> Enum.join

最佳答案

您可以使用 & 创建一个匿名函数并通过管道输入它:

"Hello World!"
|> String.split(" ")
|> Enum.join
|> (&Regex.scan(~r/[A-Z]/, &1)).()
|> List.flatten
|> Enum.join
|> IO.inspect

输出:
"HW"

关于elixir - 如何将 Enum.join 的结果通过管道传输到 Elixir 中的 Regex.scan?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37633544/

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