Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Chapter 24 (Creating Dictionaries) incorrectly states that hash values are unique

Chiusa
#925 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
48/100
Tipo di issue
Documentazione
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
godot
Ambito
documentation

Direzione di ricerca

Inizia con il riquadro del capitolo 24 «Come funzionano i dizionari internamente» e verifica le affermazioni sui valori hash univoci, sulle chiavi duplicate e sulle collisioni. Confronta la spiegazione con il comportamento citato di Variant::hash() e con la distinzione tra uguaglianza delle chiavi e uguaglianza degli hash; il lavoro è completato quando il testo è conciso, accurato e appropriato per il livello del corso.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

content

Issue description:

In chapter 24, in the "How dictionaries work under the hood" box it is stated: "[...]In this case, hashing consists of converting a given key into a unique whole number.[...]" (emphasis mine).

This is incorrect. The hash values are not, in general, unique. As just one counter-example: Variant::hash() in variant.cpp returns a 32 bit value while "int" in GDScript is 64 bits. It's not possible to map every 64 bit value to a unique 32 bit value.

The explanation then goes on to claim (in effect) that you can't have two of the same key in a dictionary because they would have the same hash. This is also incorrect. While you can't have two of the same keys in a dictionary, you can have two keys with the same hash value (although a good hash function would make this unlikely).

I'm not sure it's possible to have a good, correct, concise explanation of hashes and their use in dictionaries here. The space seems too limited and IMHO it's probably not the appropriate level of detail at this point in the course.

Lingua principale
GDScript
Stelle
2.8k
Fork
237
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di GDQuest/learn-gdscript

Tutte le issue di GDQuest/learn-gdscript

Issue simili

Altre issue su Documentation

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.