Skip to content

Instantly share code, notes, and snippets.

View danielmarquesr's full-sized avatar

Daniel Marques danielmarquesr

View GitHub Profile
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@danielmarquesr
danielmarquesr / machine.js
Last active April 15, 2021 15:16
Generated by XState Viz: https://xstate.js.org/viz
const fetchMachine = Machine({
id: 'root',
type: 'parallel',
context: {
left: null,
right: null,
},
states: {
bluetooth: {
initial: 'idle',
(ns aula1.maps.exercicio
(:require [aula1.maps.data :as data]))
;; dado o mapa no namespace data.clj, escrever funcoes que:
;; altera a idade do cliente
;; remove o endereco do cliente
;; atualiza o valor de um item de compra
;; adicionar o vetor de compras no mapa do cliente
;; adiciona um novo item de compra
;; retorna o nome do cliente
(ns aula2.exercicio
(:require [aula2.data :as data]
[aula2.listas-e-vetores :as lista]))
;; criar um vetor com nome de clientes que conter� todos os clientes de ambas as colec�es do namespace `aula2.data`.
(defn clients
"Get clients names in a vector."
[& clients]
(ns aula3.exercicio
(:require [aula3.data :as data]))
;; escrever uma funcao que retorna a primeira compra do cliente dado o ID.
(defn get-first-shop-item
"Get the first shop item by ID."
[{:keys [compras]} id]
(get (compras id) 0))
(ns aula5.exercicio
(:require [aula4.data :as data]))
;; Utilizar loop/recur para resolver os exercicios
;; retornar o vetor de clientes a chave `:full-name` adicionada nos mapas de clientes. (full-name deve ser a concatenacao do `:first-name` com o `:last-name`).
(defn get-full-name
[{:keys [first-name last-name]}]
(ns exercicios.exercicio
(:require [exercicios.data :as data]))
(defn atualizar-endereco
"Deve atualizar o endereco de um cliente e retorna o vetor de clientes.
A funcao deve atualizar o endereco apenas com os valores presentes no mapa do novo endereco."
[clientes id-cliente novo-endereco]
(map
(fn [item]
(if (= id-cliente (:id item))
(ns aula9.exercicio
(:require [aula9.dados-banco :as data]))
;; 1 crie um átomo com o vetor dados banco.
(def clients-map
(atom
(reduce
(fn [acc item]
(assoc acc (:id item) item)) {} data/banco-db)))
(ns final.exercicios
(:require [final.data :as data]
[clojure.set :as c-set]))
;; Criar funcao que, dado um vetor de clientes, deve atualizar o endereco de um cliente e retorna o vetor de clientes.
;; A funcao deve atualizar o endereco apenas com os valores presentes no mapa do novo endereco.
;; Para saber a posicao do cliente no vetor pode usar (.indexOf <vetor> <elemento>).
(defn atualiza-endereco