Sie nicht random
variable zweites Mal eingestellt haben.
Festcode:
defmodule GetRandom do
def get_random(n, num) do
random = Enum.random(0..num)
IO.puts random
random = if random == n or random == 0 do
get_random(n, num)
else
random
end
random
end
end
Dieser Code kann vereinfacht werden. Wenn Sie Enum.random
verwenden, müssen Sie nach dem Anruf 0
nicht ausschließen. Einfach aus der Reichweite ausschließen.
Verwenden Sie auch implizite Rückgabewerte. Sie müssen die Variable random
nicht variabel einstellen, wenn sie sich am Ende der Funktion befindet.
defmodule GetRandom do
def get_random(n, num) do
random = Enum.random(1..num)
IO.puts random
if random == n do
get_random(n, num)
else
random
end
end
end
sollte es '' 'random''' anstelle von' '' ran''' in Ihrer if-Anweisung sein? – Pfitz
Ich habe den Variablennamen geändert. Vielen Dank. – randomcoder