Funções em Elixir

A = {a, b, c}

B = {1, 2, 3}

Posso definir f:A→B como sendo

f(a)=1

f(b)=2

f(c)=3

E se A for o conjunto vazio? Neste caso, temos uma função que sempre retorna o mesmo valor. Por exemplo, podemos dizer que pi (π) é uma função de aridade zero.

A = {c, d}

B = {5, 6}

então

AxB = {(c,5), (c,6), (d,5), (d,6)}

BxA = {(5,c), (5,d), (6,c), (6,d)}

AxA = {(5,5), (5,6), (6,5), (6,6)}

Neste caso, em linguagens de programação, em vez de dizer que temos uma função que recebe um elemento de um produto cartesiano como entrada, simplificamos e dizemos que a função recebe mais de um argumento.

A = {a, b, c}

B = {1, 2, 3}

Posso definir f: AxA→B como

f(a,a)=1

f(a,b)=2

f(a,c)=3

f(b,a)=1

f(b,b)=3

f(b,c)=2

f(c,a)=1

f(c,b)=3

f(c,c)=2

E, claro, posso definir também f:AxB→ C onde:

A = {a, b, c}

B = {d, e}

C = {1, 2, 3, 4}

como:

f(a,d)=1

f(a,e)=1

f(b,d)=4

f(b,e)=1

f(c,d)=3

f(c,e)=4

Voltando ao Elixir, vamos definir uma função de aridade 1:

mix format

Depois de salvo mais uma fez, faça:

iex -S mix

E teste no IEx (Interactive Elixir) o REPL do Elixir, como na figura abaixo:

--

--

Associate Professor at UTFPR. Interested in programming (Elixir), logic and Deep Work.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Adolfo Neto

Adolfo Neto

Associate Professor at UTFPR. Interested in programming (Elixir), logic and Deep Work.