Menu
Coddy logo textTech

Recapitulação: Funções Genéricas

Parte da seção Introdução ao Luau do Journey de Lua da Coddy — lição 62 de 73.

challenge icon

Desafio

Médio

Combine aliases genéricos e funções genéricas em um único programa.

Defina um alias de tipo genérico chamado Pair com dois parâmetros de tipo T e U, descrevendo uma tabela com:

  • first do tipo T
  • second do tipo U

Crie uma função genérica chamada makePair que declara T e U, aceita first: T e second: U, e os retorna empacotados em um Pair<T, U>.

Crie uma função genérica chamada describePair que declara T e U, aceita um pair: Pair<T, U>, e retorna a string ({first}, {second}) construída com interpolação de string (tipo de retorno string).

Depois:

  1. crie playerScore do tipo Pair<string, number> chamando makePair("Nova", 87)
  2. crie levelDone do tipo Pair<number, boolean> chamando makePair(3, true)
  3. imprima playerScore.first
  4. imprima playerScore.second
  5. imprima describePair(playerScore)
  6. imprima describePair(levelDone)
  7. imprima describePair(makePair("Luau", 2026)) em uma única linha

Experimente você mesmo

-- Escreva o código aqui
-- 1) defina o tipo Pair<T, U> = {first: T, second: U}
-- 2) defina makePair<T, U>(first: T, second: U): Pair<T, U>
-- 3) defina describePair<T, U>(pair: Pair<T, U>): string
--    retornando `({pair.first}, {pair.second})`
-- 4) construa playerScore ("Nova", 87) e levelDone (3, true),
--    então imprima as cinco linhas necessárias

Todas as lições de Introdução ao Luau