Skip to content

Commit cfa20fa

Browse files
Marcel dos Santosmarcelgsantos
Marcel dos Santos
authored andcommittedNov 13, 2016
Aula 06 - funções infixas e operador de composição de funções
1 parent 6331975 commit cfa20fa

File tree

3 files changed

+38
-2
lines changed

3 files changed

+38
-2
lines changed
 

‎Main.elm ‎Main01.elm

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ add a b =
77
a + b
88

99

10+
(~+) a b =
11+
a + b + 0.1
12+
13+
1014
counter =
1115
0
1216

‎Main02.elm

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
module Main exposing (..)
2+
3+
import Html
4+
5+
6+
(~+) a b =
7+
a + b + 0.1
8+
9+
10+
add a b =
11+
a + b
12+
13+
14+
result =
15+
-- 1 ~+ 2
16+
-- 1 `add` 2
17+
(~+) 1 2
18+
19+
20+
main =
21+
Html.text (toString result)

‎README.md

+13-2
Original file line numberDiff line numberDiff line change
@@ -123,5 +123,16 @@
123123
* Uma **função anônima** é definida por uma barra invertida (`\`), seguidos dos argumentos separados por espaço, um sinal `->` e o corpo da função anônima. Por exemplo, `\a -> a % 2 == 0` é uma função anônima que verifica se um número é par ou ímpar.
124124
* Em Elm não é permitido a utilização de funções impuras.
125125
* É possível utilizar **variáveis locais** através da cláusula `let .. in`. Neste caso, só podemos atribuir um valor e nunca alterá-lo por causa da **imutabilidade**.
126-
*
127-
*
126+
127+
## [06 - More On Functions](http://courses.knowthen.com/courses/elm-for-beginners/lectures/1254140)
128+
129+
* Em Elm, **quase tudo** é uma **função** ou "funciona" como uma função.
130+
* Em Elm, o operador `+` é uma **função infixa**.
131+
* É mais comuns utilizar-se **funções prefixas** em **programação imperativa**.
132+
* Uma **função infixa**, como o operador `+`, é posicionada **entre os parâmetros** e permite uma **melhor legibilidade**.
133+
* Ao criar uma função que **não contenha** caracteres alfanuméricos, ela será uma **função infixa**. Por exemplo, `(~+) a b = a + b + 0.1` é uma função infixa e é utilizada como em `result = 1 ~+ 2`.
134+
* Pode-se chamar uma **função prefixa** como uma **função infixa** utilizando *backticks* (`` ` ``). Por exemplo, ``result = 1 `add` 2``.
135+
* Pode-se chamar uma **função infixa** como uma **função prefixa** utilizando parênteses. Por exemplo, `result = (~+) 1 2`.
136+
* Uma das vantagens de se utilizar funções puras é a **composição de funções**.
137+
* A **composição de função** permite criar uma nova função a partir da combinação de uma ou mais funções.
138+
* O operador `>>` permite realizar a **composição de funções** em Elm.

0 commit comments

Comments
 (0)
Please sign in to comment.