如何将 STDIO 流式传输到 Elixir 中的变量中?

How to stream STDIO into variables in Elixir?

我有一个 Ruby Map/Reduce 管道,其中 STDIO 被映射到映射器等

cat input.csv | mapper.rb | sort | reducer.rb > output.csv

mapper.rb 中有一行看起来像这样:

ARGF.each do |line|
   (field1, field2, field3) = line.split("\t")
   # etc...
end

我如何在 Elixir 中执行此操作?

此外,我在某处读到 File.stream! is much faster than IO.stream。在这种特殊情况下,我可以删除 cat 并直接加载文件,如果这样更快的话。

使用IO.streamFile.stream! 对于 个文件 更快,在 IO 方面不用担心。