Slide 28 de 37

Variáveis de ambiente

proc main(): void {
	result := hive.env.get("DATABASE_URL")
	if result is Result.Ok(url) {
		echo "DATABASE_URL é {url}"
	} else if result is Result.Error(why) {
		echo "DATABASE_URL não está definida: {why.message}"
	}
}
hive.env.get resolve um nome em uma ordem: o arquivo .env ao lado do programa, depois o .env na pasta pai, depois o ambiente do sistema operacional — e responde com um Result, já que uma variável que nunca foi definida é um resultado comum, não uma falha. O arquivo .env é lido uma vez, no primeiro get: linhas vazias e comentários com # são ignorados, um prefixo export é permitido e removido, e um valor entre aspas tem as aspas removidas.