Из документов по оператору канала я вижу: «Символ |>, используемый в приведенном выше фрагменте, является оператором канала: он просто берет вывод из выражения слева и передает его в качестве первого аргумента вызову функции справа. сторона.".
Но если у меня есть строка, которую я разделяю, затем соединяю ее и хочу передать эту объединенную строку в 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