https://github.com/graziele-fagundes/elixir
Programação funcional usando Elixir
https://github.com/graziele-fagundes/elixir
elixir functional-programming
Last synced: about 1 year ago
JSON representation
Programação funcional usando Elixir
- Host: GitHub
- URL: https://github.com/graziele-fagundes/elixir
- Owner: graziele-fagundes
- Created: 2024-11-27T01:46:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-24T19:26:01.000Z (over 1 year ago)
- Last Synced: 2025-03-24T20:29:29.178Z (over 1 year ago)
- Topics: elixir, functional-programming
- Language: Elixir
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Execução
## Linux
```
iex programa.ex
NomeModulo.NomeFuncao(parametro1, parametro2)
```
## Windows
```
iex.bat programa.ex
NomeModulo.NomeFuncao(parametro1, parametro2)
```
# Módulos e Funções
```
defmodule NomeModulo do
def NomeFuncao(n) do
n
end
end
```
# Sintaxe
```
def menor(x,y) do
cond do
x >= y -> y
true -> x
end
end
def menor(x,y) when x > y do
y
end
def menor(x,y) when y > x do
x
end
def menor(x,y) when y == x do
raise "Erro"
end
def fat(0) do
1
end
def fat(n) do
n * fat(n-1)
end
```
# Listas
Geralmente usamos recursão com um caso de lista vazia e um com [h|t].
++ -> Concatena Listas.
[h|t] -> separa a lista em head e tail.
[1 | [2,3]] -> Concatena uma head á um tail.
# Átomos e Tuplas
:legal -> Átomo cujo valor e nome é legal.
{:retangulo, 2, 3} -> Tupla de valores, tamanho imutável.
# Funções Úteis
rem(10,3) -> Devolve o resto da divisão.
String.reverse("string") -> Reverte uma string.