【发布时间】:2016-08-29 14:05:04
【问题描述】:
在 Elixir repl,iex 中,当我执行分配时,我得到的模式匹配结果以黄色打印:
这很好,直到模式匹配很长,例如文件:
...显然,如果它是一个大文件,它 a) 需要很长时间(不是因为读取时间,而是准备将模式匹配打印到屏幕上),然后 b) 它会滚动很长时间。
如何抑制这种行为,或限制模式匹配输出的大小?
【问题讨论】:
-
你可以试试
File.stream!/3elixir-lang.org/docs/stable/elixir/File.html#stream!/…选项line或byte你想匹配 -
好的,那我该如何运行整个流呢?如果我输入 f = File.stream!("msgfile.txt", [], 1) ]> Stream.run 那么它所做的就是给我:好的。
-
您希望如何限制模式匹配输出的大小?可以举个例子吗?
-
嗯,我有一个大文件,我想把整个东西变成一个变量。您建议使用 File.stream!但我不知道如何“运行”整个 Stream ......可以这样做吗?还是我必须使用 Enum.take?因为使用 Enum.take 我需要知道流有多长,这违背了目的。基本上我想浏览整个文件...
标签: elixir