【问题标题】:What's the equivalent of ruby print + $stdout.flush in elixir什么相当于 ruby​​ print + $stdout.flush 在 elixir
【发布时间】:2018-02-19 05:08:31
【问题描述】:

我找不到如何使用 Elixir 刷新单行输出。

在 Ruby 中我们可以这样做:

n = 0
loop do
  print n
  $stdout.flush
  n += 1
end

但是我应该用什么来对 Elixir 做同样的事情呢?

【问题讨论】:

    标签: ruby elixir stdout


    【解决方案1】:

    使用IO.write/1。据我所知,无需手动刷新标准输出。以下代码在一行中写入 1 到 10,每个数字之间有 1 秒的延迟。每次写入后都会自动刷新标准输出。

    for i <- 1..10 do
      IO.write i
      :timer.sleep(1000)
    end
    

    输出:

    12345678910
    

    (每个数字之间有 1 秒的延迟。)

    【讨论】:

      猜你喜欢
      • 2017-09-07
      • 2011-03-31
      • 2014-12-19
      • 2016-12-21
      • 2017-08-02
      • 2014-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多