Nozioni di base
Testo di origine e nomi
.sd i file sono UTF-8. Strings/comments può contenere Unicode; gli identificatori rimangono ASCII. Tutti i nomi ordinari, inclusi tipi e varianti, sono minuscoli. Le costanti sono il caso del serpente superiore.
// ação and 日本語 are valid comment text
const MAX_ITEMS = 64
let greeting = "olá"
Il letterale ha il tipo preso in prestito statico str. UTF-8 valido di proprietà utilizza string. len restituisce la lunghezza in byte; Le operazioni Unicode scalar/grapheme appartengono alle librerie.
Legami
let answer = 42
let mut count: usize = 0
let linear ticket = acquire_ticket()
I collegamenti sono immutabili per impostazione predefinita. La mutazione attraverso un legame richiede mut. linear crea un obbligo di consumo esattamente una volta.
Tipi di nucleo
- numeri interi:
i8…i64,u8…u64,isize,usize;bytealiasu8 - galleggianti:
f32,f64 - controllo:
bool,void,never - text/buffers:
str,string,bytes,shared_bytes - composto: array
[n]t, sezioni[]t/mut []t, tuple, strutture, ADT, unioni, opzioni, risultati, valori di funzioni, puntatori, generici,linear t
Aggregati
struct point { x: i64, y: i64 }
let origin = point.{ x: 0, y: 0 }
type color { red green blue }
let selected = color.green
Il compilatore pulito non ha enum parola chiave; utilizzare un ADT senza carico utile. I sindacati grezzi richiedono unsafe construction/access.
Espressioni
Blocchi, if, e match valori di rendimento. Utilizzare l'espressione finale per un risultato implicito e ret per il rientro anticipato. L'aritmetica dei numeri interi segue le regole deterministiche in SEMANTIC_RULES.md; l'indicizzazione sicura rimane controllata nelle build di rilascio.
Il compilatore pulito implementa typed phase-1/2 f"..." interpolazione per testo, valori booleani, numeri interi, numeri in virgola mobile, specifiche di formato e statici display/debug tratti. Utilizzare {{/}} per le parentesi graffe letterali e .to_string()? solo quando è richiesta una stringa contigua di proprietà. La stampa rimane un'operazione esplicita della libreria.