Recapitulação - Matemática vetorial
Parte da seção Lógica e Fluxo 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 Lógica e Fluxo
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çõesRevisão - Placar de pontuações máximas3Conceitos Avançados de Funções
Retornando Múltiplos ValoresFunções Variádicas (...)Funções como Valores de Primeira ClasseFunções AnônimasO que é um Closure?Recapitulação - Manipulador de Eventos Simples9Corrotinas para iniciantes
O que é uma corrotina?criar e retomar uma corrotinaPausando com coroutine.yield()resume e yieldVerificando o status da corrotinaRecapitulação - Gerador de númerosRecapitulação - Matemática vetorialPratique por conta própria: Compilador de Lua online