Stream 在Elixir中操纵文件流中的字符串

Stream 在Elixir中操纵文件流中的字符串,stream,elixir,Stream,Elixir,我不熟悉长生不老药。 我正试图从文件中提取文本,将其转换为图形 文件的格式如下: 1 2 1 3 2 3 每个数字都是连接节点的ID 如何将String.split/1函数中的2个值转移到程序中的其他位置?这就是我到目前为止所做的: File.stream!("../text_file") |> Stream.map( &(String.replace(&1, "\n", ""))) |> Enum.each(String.split/1) 它将只

我不熟悉长生不老药。 我正试图从文件中提取文本,将其转换为图形

文件的格式如下:

1 2
1 3
2 3
每个数字都是连接节点的ID

如何将String.split/1函数中的2个值转移到程序中的其他位置?这就是我到目前为止所做的:

File.stream!("../text_file") 
   |> Stream.map( &(String.replace(&1, "\n", ""))) 
   |> Enum.each(String.split/1)

它将只输出:ok原子,但如果我将String.split/1交换为IO.puts/1,它将打印内容。每个/2都将用于不关心返回值的函数(通常是只具有副作用的函数,如
IO.puts
)。如果要收集返回的数据,需要
Enum.map/2
。此外,如果要删除尾随空格,应使用
String.trim\u training/1

输出:

[["1", "2"], ["1", "3"], ["2", "3"]]
[["1", "2"], ["1", "3"], ["2", "3"]]