Oxy*_*ron 7 erlang elixir erlang-otp
我尝试在 elixir 中实现 FizzBuzz。我认为它有效,但我有一些奇怪的行为,这可能是我的环境。我可以.exs使用以下文件运行,elixir fizzbuzz.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)
Run Code Online (Sandbox Code Playgroud)
#: 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)
Run Code Online (Sandbox Code Playgroud)
首先,尝试更新到 Elixir 目前的最新版本1.13。
尝试使用 运行您的文件mix run <filename>,因此在您的情况下:
mix run fizzbuzz.exs
Run Code Online (Sandbox Code Playgroud)