erlang Elixir脚本未完成

iq0todco  于 2022-12-08  发布在  Erlang
关注(0)|答案(1)|浏览(187)

我试着在elixir中实现FizzBuzz。我 * 认为 * 它能工作,但是我有一些奇怪的行为,这可能是我的环境。我可以使用elixir fizzbuzz.exs运行下面的.exs文件,在第一次运行时,它会像你所期望的那样工作。即使在第二次运行时,它也会像你所期望的那样工作。但是,如果我等待7或8秒再运行它,它会在13时停止。“可能是14秒,也可能是50秒,我现在的体验真的没有什么太一致的地方,第一次我就重现了,第二次我就重现了,甚至几分钟都没有重现过,请帮帮我......”

IO.puts "Hello world from Elixir"

defmodule Fizzbuzz do
  def run(max) do
    run(1, max)
  end

  def run(n, max) do
    if rem(n, 3) == 0 do
      IO.puts "FIZZ"
    end

    if rem(n, 5) == 0 do
      IO.puts "BUZZ"
    end

    if rem(n, 3) != 0 && rem(n, 5) != 0 do
      IO.puts n
    end

    if n < max do
      run(n + 1, max)
    end
  end
end

Fizzbuzz.run(100)

#: Elixir -v
Erlang/OTP 21 [erts-10.2] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1]

Elixir 1.9.4 (compiled with Erlang/OTP 20)
yi0zb3m4

yi0zb3m41#

首先,尝试更新到Elixir的最新版本1.13
尝试使用mix run <filename>运行您的文件,因此在您的情况下:

mix run fizzbuzz.exs

相关问题