std.env
std.env
std.env exposes environment variables and command-line arguments.
Reference
get(name) # value, or nil if unset
set(name, value)
unset(name)
all() # object of all environment variables
args() # command-line arguments after the script name
Examples
std.env.set("APP_MODE", "prod")
print(std.env.get("APP_MODE")) # prod
print(std.env.get("NO_SUCH_VAR")) # nil
print(keys(std.env.all())) # all variable names
std.env.unset("APP_MODE")
print(std.env.get("APP_MODE")) # nil
# command-line arguments: `scrii_repl prog.scr a b` -> ["a", "b"].
# Empty when embedded unless the host published argv via set_argv().
# Guarded engines only see args() with allow_env (argv often carries
# secrets, so default-deny applies).
var argv = std.env.args()
print("received", len(argv), "argument(s)")
for (a : argv) { print(a) }
# iterate all variables
for (k, v : std.env.all()) {
print(k + "=" + v)
}
all() returns an object whose keys are variable names and values are their
string values. Use keys/has from Builtins to
inspect it.