Déclaration de variable non initialisée
Crystal permet de déclarer des variables non initialisées:
x = uninitialized Int32
x #=> valeur aléatoire, pourrie, non sûre
Ceci est du code unsafe et il est quasiment toujours utilisé dans du code bas niveau pour déclarer des tampons non initialisés de StaticArray sans impact sur les performances:
buffer = uninitialized UInt8[256]
Le tampon est alloué sur la pile, pour éviter les allocations sur le tas.
Le type après le mot clé uninitialized
suit la grammaire de type.