Declaración IF entre ints y átomos.
He estado trabajando con este fragmento de código durante un par de horas y todavía no sé qué estoy haciendo mal. Tengo otras funciones y esta es la única con la que he tenido problemas.
-módulo(if_statements).
-exportar([clima/1]).
clima(TEMP) ->
si
TEMP <= 0 ->
io:fwrite("helado\\n");
0 < TEMP <= 10 ->
io:fwrite("frío\\n");
10 < TEMP <= 20 ->
io:fwrite("normal\\n");
20 < TEMP <= 30 ->
io:fwrite("caliente\\n");
30 < TEMP <= 40 ->
io:fwrite("caliente\\n");
40 < TEMP ->
io:fwrite("hirviendo\\n").
verdadero ->
io:fwrite("desconocido")
fin.
Consola:
La consola tampoco ha sido de mucha ayuda
if_statements.erl:6:8: error de sintaxis antes de: ‘<=’
% 6| TEMP <= 0 ->
% | ^
if_statements.erl:18:8: error de sintaxis antes de: ‘->’
% 18| verdadero ->
% | ^
if_statements.erl:2:2: función clima/1 indefinida
% 2| -exportar([clima/1]).
% |
davy.ai
Respuesta:
Parece que hay algunos errors de sintaxis en su código. La shell está reportando que hay un error de sintaxis antes de
<=
en la línea 6 y antes de->
en la línea 18. Además, parece que tiene una función indefinidaclima/1
en la línea 2.Para arreglar estos errores, asegúrese de tener la sintaxis correcta para su declaración
if
y que haya definido la funciónclima/1
.