Aula 5 - Passagem de parâmetros.
O que você irá aprender nesta aula?
- Passagem de parâmetro.
- Bibliotecas de software.
- Como criar suas próprias funções parametrizadas?
- Parâmetros nomeados.
1- Passagem de parâmetro
Como já disse em outras aulas, quase tudo
em Elm são funções. Isso inclui as palavras
circle, triangle, square, entre outras.
Quando digitamos por exemplo:
circle yellow 100
circle é o nome de uma função que tem dois parâmetros: uma cor e um diâmetro. Por isso, sempre que vamos criar um círculo, precisamos passar 2 argumentos (em ordem).
Esta função circle está definida dentro do Playground, que é uma biblioteca do Elm.
2- Bibliotecas de software
Ao desenvolver um software você irá se deparar
com vários problemas que outras pessoas já
enfrentaram e solucionaram.
Nestes casos você pode reutilizar as soluções pré-existentes,
facilitando assim seu trabalho.
Por exemplo: desenhar um elemento na tela é uma tarefa
recorrente e utilizada para vários programas diferentes.
Por isso, outra pessoa desenvolvedora já solucionou este
problema e você pode reaproveitar o trabalho dela para
desenvolvermos o seus programas.
Este conjunto de código escrito por outras pessoas
é o que chamamos de bibliotecas. Até agora utilizamos
uma biblioteca, a Playground,
que contém funções que podemos utilizar
para desenhar e animar figuras na tela.
3- Como criar suas próprias funções parametrizadas?
As funções que definir em seus
códigos também podem ter parâmetros.
Observe o exemplo abaixo e tente
entender o que está acontecendo. Preste especial
atenção na definição da função fruta.
import Playground exposing (..)
main =
picture
[ tronco
, folhas
, fruta 50 50
, fruta -40 20
, fruta -50 100
, fruta 40 130
]
tronco =
rectangle darkBrown 60 250
|> move 0 -150
folhas =
circle green 150
|> move 0 50
fruta x y =
circle red 20
|> move x y
O resultado final é o mesmo
do desafio da aula passada: uma árvore
com frutas. Mas o código está
menor e mais simples.
Além disso, agora é mais fácil criar novas
frutas em sua árvore!
A função frutas definida
no código acima agora depende de dois parâmetros:
x e y.
Isso significa que sempre que for
utilizar esta função, será necessário
passar 2 argumentos (valores).
👩🏫 Dica: Em algumas linguagens de programação precisamos especificar explicitamente qual o tipo de cada variável. Em Elm isso não é necessário. A linguagem é esperta o suficiente para descobrir que x e y, neste caso, são números.
Observe também que dentro da função fruta repassamos os valores de x e y para outra função na seguinte linha:
move x y
Ou seja, move também é uma função parametrizada. Na verdade, a maioria das funções em Elm esperam pelo menos 1 parâmetro.
4- Parâmetros nomeados
Embora no exemplo anterior o nome dos parâmetros sejam apenas um caracter (x e y), você pode escolher nomes maiores e mais expressivos. Poderia ser, por exemplo:
fruta posicaoX posicaoY =
circle red 20
|> move posicaoX posicaoY
Mas neste caso específico, talvez os nome anteriores (x e y) já fossem claros o suficiente.
🚨 Importante: dar bons nomes para nossas variáveis e funções é uma das tarefas mais difíceis na programação! Por isso, reflita bastante antes de escolher um nome e, se necessário, troque por um mais descritivo sempre que achar que o código está ficando confuso.
E agora?
Agora chegou a hora de você colocar as mãos na massa e praticar mais um pouco!
Siga para os desafios da Aula 5 e bons estudos.