我已经找到了severalquestionsabout如何用Erlang从STDIN中读取,但它们中的每一个似乎都专注于阅读一段数据,或者一次读取一行。如果我正在向Erlang程序传输数据,如何读取传输到STDIN的所有数据,然后在输入缓冲区被刷新后对这些数据进行处理呢?
af7jpaap1#
下面这段代码似乎很管用:
read_all_stdin() -> read_all_stdin([]). read_all_stdin(Acc) -> case io:get_line("") of eof -> lists:reverse(Acc); Line -> read_all_stdin([Line|Acc]) end.
1条答案
按热度按时间af7jpaap1#
下面这段代码似乎很管用: