Um valor constante é definido com name = expression,
e em Elm tudo, exceto as definições, é uma expressão.
five = 5
six = 3 + 3
Funções são definidas com name parameters... = expression,
e os parâmetros são separados apenas por espaço.
add number1 number2 = number1 + number2
Chamar uma função também é uma expressão, e você faz isso informando o nome dela e passando argumentos para cada um dos parâmetros da função, separados por espaço, exatamente como na definição de uma função.
five = add 2 3
Você pode usar parênteses para especificar a ordem de avaliação de uma expressão.
six = add 2 (1 * 4)
twelve = add 2 1 * 4
Elm não usa marcadores sintáticos como chaves, parênteses ou ponto e vírgula para delimitar o código. Em vez disso, usa espaços em branco e indentação.
-- A function split over multiple lines, so subsequent lines must be indented
add number1 number2 =
number1 + number2
https://elmprogramming.com/indentation.html
Cada arquivo em Elm é um módulo e precisa conter uma instrução module antes de qualquer outro código.
Os nomes dos módulos precisam corresponder ao nome do arquivo, então o módulo Calculator precisa estar no arquivo Calculator.elm.
Tudo o que é definido dentro de um módulo tem escopo privado
e não pode ser acessado de fora desse módulo, a menos que esteja listado em exposing.
-- Define the Calculator module, and expose the `add` function
module Calculator exposing (add)
six = 3 + 3
add number1 number2 = number1 + number2
-- Define the Calculator module, and expose everything within: `six` and `add`
module Calculator exposing (..)
six = 3 + 3
add number1 number2 = number1 + number2
https://elm-lang.org/docs/syntax#modules
Um comentário é um texto dentro do arquivo Elm que não é interpretado como código.
Ele serve principalmente para você e outros programadores lerem.
Existe uma sintaxe leve para comentários de uma linha, baseada em dois hífens.
Também é possível escrever comentários de várias linhas com o par
de delimitadores de abertura e fechamento {- e -}.
-- a single line comment
-- another single line comment
{- a multiline comment
spawning multiple lines
-}
Existe um guia de estilo, e o elm-format pode ser usado para formatar o código automaticamente.
Neste exercício você vai escrever um pouco de código para ajudar a preparar uma lasanha incrível usando seu livro de receitas favorito.
Você tem três tarefas, todas relacionadas ao tempo gasto no preparo da lasanha.
Defina expectedMinutesInOven para calcular quantos minutos a lasanha deve ficar no forno. De acordo com o livro de receitas, o tempo esperado no forno em minutos é 40:
expectedMinutesInOven
--> 40
Defina preparationTimeInMinutes, que recebe o número de camadas da lasanha como parâmetro e retorna quantos minutos são necessários para preparar a lasanha, considerando que cada camada leva 2 minutos para ser preparada.
preparationTimeInMinutes 3
--> 6
Defina a função elapsedTimeInMinutes, que recebe dois parâmetros: o primeiro parâmetro é o número de camadas da lasanha, e o segundo é o número de minutos que a lasanha já passou no forno. A função deve retornar quantos minutos você trabalhou no preparo da lasanha, que é a soma do tempo de preparo em minutos com o tempo em minutos que a lasanha passou no forno até o momento.
elapsedTimeInMinutes 3 20
--> 26
Crie sua conta no Exercism para aprender e dominar Elm com 28 conceitos110 exercícios e mentoria humana de verdade, tudo de graça.