Recapitulação - Matemática de Vetores
Parte da seção Logic & Flow do Journey de Lua da Coddy — lição 54 de 54.
Desafio
FácilEscreva uma função createVector que receba as coordenadas x e y e retorne uma string demonstrando operações de vetores.
Crie um construtor de vetor que construa uma tabela com os campos x e y, e então anexe uma metatabela implementando __add para adição de vetores e __tostring para uma representação de string personalizada. A função deve criar dois vetores usando as coordenadas fornecidas, somá-los e retornar a representação em string do resultado.
Lógica:
- Crie uma função construtora que construa uma tabela de vetor com os campos x e y
- Defina uma metatabela com
__addque some os componentes x e y correspondentes - Defina
__tostringpara retornar o formatoVector(x, y) - Anexe a metatabela ao vetor usando
setmetatable() - Crie o primeiro vetor com as coordenadas (x, y)
- Crie o segundo vetor com as coordenadas (x, y)
- Some os dois vetores usando o operador
+ - Retorne a representação em string do vetor resultante usando
tostring()
Parâmetros:
x(number): A coordenada x para ambos os vetoresy(number): A coordenada y para ambos os vetores
Retorno: A representação em string da soma de dois vetores (string). Formato: Vector(6, 8) para a entrada (3, 4)
Experimente você mesmo
function createVector(x, y)
-- Escreva o código aqui
end
Todas as lições de Logic & Flow
1Iteração Avançada de Tabelas
Iterando com pairs()Iterando com ipairs()pairs() vs. ipairs()Revisão - Ficha de Personagem2Mais Funções da Biblioteca Table
table.concat()Construção de tabelas e unpack()table.sort()Ordenação personalizada com funçõesRecapitulação - Placar de recordes3Conceitos Avançados de Funções
Retornando Múltiplos ValoresFunções Variádicas (...)Funções como Valores de Primeira ClasseFunções AnônimasO que é uma Closure?Recapitulação - Manipulador de Eventos Simples9Coroutines para Iniciantes
O que é uma Coroutine?coroutine create & resumePausando com coroutine.yield()resume & yieldVerificando o Status da CoroutineRecapitulação - Gerador de NúmerosRecapitulação - Matemática de Vetores