Ahoj, můžete mi prosím říct, proč sakra ten program nefunguje? Kompilace proběhne v pořádku, ale jakmile program spustím a vložím do něj atom c, tak se mi furt neustále opakuje znova a znova volání první funkce io:read().
Moje verze Erlangu je Erlang/OTP 17 [erts-6.3] [64-bit] [smp:4:4] [async-threads:10]
-module(temperature).
-export([run/0, convert/2]).
run() ->
run(true).
run(true) ->
{ok, Choice} = io:read("Convert to degrees Celsius or convert to degrees Fahrenheit? c/f :"),
{ok, Temp} = io:read("Insert temperature: "),
{UnitTemp, Convert} = convert(Choice, Temp),
io:format("The converted temperature: ~f ~s\n", [Convert, UnitTemp]),
{ok, Continue} = io:read("New temperature? true/false :"),
run(Continue);
run(false) ->
ok.
convert(c, Fahrenheit) -> {'Celsius', 5 * (Fahrenheit - 32) / 9};
convert(f, Celsius) -> {'Fahrenheit', 9 * Celsius / 5 + 32}.