我试着在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)
1条答案
按热度按时间yi0zb3m41#
首先,尝试更新到Elixir的最新版本
1.13
。尝试使用
mix run <filename>
运行您的文件,因此在您的情况下: