Riepilogo: funzioni generiche
Fa parte della sezione Introduzione a Luau del percorso Lua di Coddy. Lezione 62 di 73.
Sfida
MedioCombina alias generici e funzioni generiche in un unico programma.
Definisci un alias di tipo generico chiamato Pair con due parametri di tipo T e U, che descriva una tabella con:
firstdi tipoTseconddi tipoU
Crea una funzione generica chiamata makePair che dichiari T e U, accetti first: T e second: U e li restituisca racchiusi in un Pair<T, U>.
Crea una funzione generica chiamata describePair che dichiari T e U, accetti un pair: Pair<T, U> e restituisca la stringa ({first}, {second}) creata con l'interpolazione di stringhe (tipo restituito string).
Poi:
- crea
playerScoredi tipoPair<string, number>chiamandomakePair("<code>Nova", 87) - crea
levelDonedi tipoPair<number, boolean>chiamandomakePair(3, true) - stampa
playerScore.first - stampa
playerScore.second - stampa
describePair(playerScore) - stampa
describePair(levelDone) - stampa
describePair(makePair("Luau", 2026))su un'unica riga
Provalo tu
-- Scrivi il codice qui
-- 1) definisci il tipo Pair<T, U> = {first: T, second: U}
-- 2) definisci makePair<T, U>(first: T, second: U): Pair<T, U>
-- 3) definisci describePair<T, U>(pair: Pair<T, U>): string
-- che restituisce `({pair.first}, {pair.second})`
-- 4) crea playerScore (il testo esatto delle istruzioni, 87) e levelDone (3, true),
-- poi stampa le cinque righe richieste
Tutte le lezioni di Introduzione a Luau
1Per iniziare con Luau
Che cos'è Luau?Perché usare Luau?Il tuo primo codice LuauVerifica dei tipi e modalità di erroreRiepilogo: introduzione a Luau4Lavorare con le funzioni
Tipizzare i parametri e i valori restituitiTipizzare le funzioni anonimeFunzioni che non restituiscono nullaParametri opzionaliValori predefiniti dei parametriFunzioni variadicheDefinire i tipi di funzioneRiepilogo: funzioni tipizzate2Tipi fondamentali
Tipi di base: num, str, boolIl tipo 'any': una via di fugaIl tipo 'unknown'Nil e tipi opzionaliL'inferenza dei tipi in azioneAnnotazioni esplicite dei tipiRipasso: esercizi sui tipi fondamentali5Alias, unioni e intersezioni
Alias di tipo per i primitiviTipi unioneLavorare con i tipi unioneTipi letteraliTipi intersezioneCombinare gli alias di tipoRiepilogo: combinazioni avanzate di tipi3Tabelle tipizzate: array e mappe
Array tipizzatiAggiungere e leggere elementiChe cos'è un tipo Map?Dichiarare e accedere alle mappeIterare sulle tabelleTabelle con strutture misteArray tipizzati multidimensionalitable.unpack e argomenti variabiliRiepilogo: array e mappe6Tipizzare le forme delle tabelle
Annotazioni inline delle formeAlias di tipo per le formeProprietà opzionaliForme e tabelle libere a confrontoEstendere le formeAggiungere metodi alle formeSelf e metodi con i due puntiRiepilogo: definire le forme delle tabelle9Generics: una prima occhiata
Il problema risolto dai genericsUna funzione identità genericaUsare una funzione genericaArray genericiAlias di tipo genericiRiepilogo: funzioni genericheEsercitati da solo: Compilatore Luau online