std.env
std.env leser og setter miljøvariabler — den vanlige måten å skille konfigurasjon fra kode, som porter, nøkler og filstier, med env-kapabilitet.
std.env leser og setter miljøvariabler — verdiene operativsystemet eller den som starter programmet gir det. Det er den vanlige måten å skille konfigurasjon fra kode på: en database-sti, en portverdi eller en hemmelig nøkkel som ikke bør ligge i selve programmet.
Som alt annet i Norscode er tilgangen styrt av kapabiliteter. Programmet må ha env.read for å lese miljøet, og env.write for å sette en variabel — ellers er miljøet utilgjengelig, helt med vilje, slik at kode du ikke har lest ikke kan snuse i hemmelighetene dine.
Når bruker du den
Bruk std.env til konfigurasjon som ikke bør ligge i koden: en database-sti, en port, en hemmelig nøkkel. hent leser en variabel, finnes sjekker om den er satt, og sett setter en. Husk kapabilitetene env.read og env.write.
Slik kommer du i gang
bruk std.env som env
funksjon start() -> heiltall {
la port = env.hent("PORT")
hvis port == "" { port = "8080" } // fornuftig standard
skriv("Bruker port " + port)
returner 0
}Et vanlig mønster er å lese en variabel og falle tilbake på en standard hvis den ikke er satt. Slik kan samme program kjøre ulikt i utvikling og produksjon uten kodeendring.
Funksjonene
Tre små funksjoner dekker alt: hent leser, finnes sjekker, sett setter.
hent(nokkel: tekst) -> tekst— Leser en miljøvariabel, eller gir tom tekst hvis den ikke er satt.finnes(nokkel: tekst) -> bool— Sann hvis miljøvariabelen er satt.sett(nokkel: tekst, verdi: tekst) -> tekst— Setter en miljøvariabel for det kjørende programmet.
Godt å vite
hentgir en tom tekst når variabelen ikke er satt — kombiner med en standardverdi slik eksempelet viser.settpåvirker bare det kjørende programmet, ikke systemet varig.- Legg aldri hemmeligheter i koden; les dem fra miljøet, og gi programmet
env.readkun der det trengs.
std.env er én av modulene i standardbiblioteket. Alt følger med kjøretiden — ingen installasjon, ingen eksterne avhengigheter. Se også Dokumentasjon for språket og kjøretiden.
Les også
- std.tekststd.tekst er verktøykassen for tekst: søke og sjekke, dele og sette sammen, trimme blanktegn, endre mellom store og små bokstaver, og konvertere til og fra tall.
- std.jsonstd.json lar programmet ditt snakke JSON: parse gjør en JSON-tekst om til en ordbok du kan hente verdier fra trygt, og stringify går den andre veien.
- std.filstd.fil er det enkleste laget mellom programmet ditt og filsystemet: sjekk om en fil finnes, les og skriv tekst, eller les og skriv rå bytes — med disk-kapabilitet.