Libreria standard
Questa documentazione descrive l’ambito fissato della versione preliminare sperimentale v0.0.18. La pubblicazione effettiva e i download sono registrati in GitHub Releases. Questi punti di ingresso essenziali sono stati confrontati con il sorgente; non è una documentazione API esaustiva. Il contratto sintattico definisce il comportamento. Consulta la matrice di supporto per i limiti dei backend.
Importa moduli
Sezione intitolata «Importa moduli»import fs from "std.fs"import json from "std.json"import { http, time } from "std"fs, http, config, task, pg, redis, mysql, bytes e net richiedono importazioni esplicite. Alcuni moduli storici possono ancora essere chiamati direttamente; i nuovi esempi preferiscono importazioni esplicite per chiarire le dipendenze. std.task è uno spazio dei nomi interno per osservazione e stress test, non un’API di concorrenza applicativa.
| Modulo | Scopo | Limiti da ricordare |
|---|---|---|
std.string / metodi delle stringhe |
Lunghezza Unicode, lunghezza in byte, ricerca, sezioni | trim/lower/upper nativi non hanno un’implementazione Unicode |
std.array / metodi degli array |
Lunghezza, ricerca, nuovi array, map | Il fallimento di un indice diretto è diverso da try_get, recuperabile |
std.object |
Ricerca con ripiego esplicito tramite get_or |
Un indice ordinario assente non restituisce null per impostazione predefinita |
| std.json | Codifica e decodifica JSON rigorose | Non supportate in Task nativi e LLVM |
std.fs |
File, controlli di esistenza, elenchi di directory | I percorsi relativi si risolvono dalla directory del sorgente .ku corrente |
std.time |
Ora, date, durate, attese | Attese sincrone e Task usano percorsi di esecuzione diversi |
std.http |
Client HTTP, servizi, risposte | Restano differenze di backend e ciclo di vita; non è un’implementazione completa di rete generica per Task |
std.config |
Ambiente e configurazione | Non inserire credenziali reali nei sorgenti versionati |
std.pg / std.redis / std.mysql |
Client unificati con pool limitati | Solo nativi; validazione con server reali e limiti TLS richiedono controlli separati |
std.bytes / std.net |
Dati binari, client TCP, TLS opzionale | Percorso C nativo generato; TLS richiede un pacchetto corrispondente alla destinazione |
std.lexer / std.parser |
Strumenti di debug del compilatore | Restituiscono riepiloghi di debug, non strutture pubbliche Token / AST complete |
Firme comuni
Sezione intitolata «Firme comuni»Queste sono firme di documentazione. & indica una modalità di parametro in sola lettura supportata; T! indica un risultato recuperabile:
len(&value:any): intstr(&value:any): strprintln(&value:any): nullstring.len(&text:str): intstring.byte_len(&text:str): intstring.slice(text:str, start:int, end:int): str!array.len(&values:[T]): intarray.try_get(values:[T], index:int): T!fs.read(path:str): str!fs.write(path:str, text:str): null!fs.exists(path:str): boolfs.read_dir(path:str): [str]!"中😀".len() vale 2 e .byte_len() vale 7. La lunghezza conta valori scalari Unicode; le sezioni usano indici di carattere invece di byte UTF-8. array.push e array.concat restituiscono nuovi array senza modificare gli input.
Leggi un file
Sezione intitolata «Leggi un file»import fs from "std.fs"
fn main(): null! { text = fs.read("message.txt")? println(text) return ok(null)}Crea prima un file UTF-8 message.txt accanto al sorgente. Un file assente o una lettura fallita restituisce un errore. Questo esempio dipende da quel file di input. try_read e try_write restano alias compatibili con gli stessi tipi di risultato.
read_dir restituisce percorsi ordinati con proprietà indipendente, con un limite di 10.000 voci e 1.000.000 di byte totali dei percorsi. Le operazioni sui file del sottoinsieme Task nativo ristretto usano un pool fisso in background. Questo non dimostra attese di rete generiche tramite lo stesso meccanismo.
Manutenzione della documentazione
Sezione intitolata «Manutenzione della documentazione»I metadati delle interfacce pubbliche si trovano in src/stdlib/metadata.rs. Sono verificati insieme a implementazioni e contratti. Il sito mantiene attualmente una documentazione manuale selezionata; l’esistenza di un comando ku doc non è stata confermata.
API reference (English)
Sezione intitolata «API reference (English)»Detailed module references and runnable examples are currently available in English: