Skip to content

Files and Environment

The stdlib provides two filesystem types:

  • File
  • Dir

File is used for reading and writing files.

let mut file := try File.open_read("input.txt") : e => {
panic(e);
};
let text := try file.read_all(100000) => panic("Failed to read file.");
print(text);

Important File functions and methods include:

  • File.open(...)
  • File.open_read(...)
  • File.open_write(...)
  • File.open_append(...)
  • .close()
  • .flush()
  • .write(...)
  • .write_line(...)
  • .read_line(...)
  • .read_lines(...)
  • .read_all(...)
  • File.read_to_string(...)
  • File.read_lines_path(...)
  • File.exists(...)
  • File.remove(...)

Dir is used for directory-oriented operations.

let dir := Dir.new("tmp");
let _ := dir.ensure();
print(dir.exists());

Important Dir methods include:

  • Dir.new(...)
  • .exists()
  • .create()
  • .remove()
  • .ensure()
  • .scan()

The stdlib also provides environment types:

  • Args
  • Vars

Args reads command-line arguments.

print(Args.first());
print(Args.count());
print(Args.all());

Vars reads and writes environment variables.

print(Vars.get("HOME"));
print(Vars.has("PATH"));
Vars.set("APP_MODE", "dev");
Vars.remove("APP_MODE");