System Modules
RayQuiro 0.0.2 includes a built-in system layer for files, environment variables, process execution, time helpers, and JSON work.
rayquiro.fs
Import:
import rayquiro.fs as fs;
fs.exists(path)
Returns true if a file or directory exists.
fs.mkdir(path)
Creates a directory tree. Returns true on success.
fs.copy(source, target)
Copies a single file.
fs.copy_tree(source, target)
Copies a directory tree recursively.
fs.remove(path)
Removes a file or directory tree.
fs.read(path)
Reads a text file and returns its contents.
fs.write(path, content)
Writes a text file and creates parent directories automatically.
Example
import rayquiro.fs as fs;
fs.mkdir("build/demo");
fs.write("build/demo/hello.txt", "RayQuiro");
if (fs.exists("build/demo/hello.txt")) {
print(fs.read("build/demo/hello.txt"));
}
rayquiro.env
Import:
import rayquiro.env as env;
env.get(name)
Reads an environment variable and returns its value as a string.
env.set(name, value)
Sets an environment variable for the current process.
env.path_add(path)
Adds a directory to the user PATH.
This is used by the installer flow on Windows.
rayquiro.process
Import:
import rayquiro.process as process;
process.run(command)
Runs a shell command and returns the exit code.
process.exe_dir()
Returns the current project/runtime root used by the interpreter path.
Useful for installers and self-contained runtime flows.
rayquiro.time
Import:
import rayquiro.time as time;
time.now_ms()
Returns the current runtime clock in milliseconds.
time.unix_ms()
Returns Unix time in milliseconds.
time.sleep(ms)
Sleeps for the given number of milliseconds.
rayquiro.json
Import:
import rayquiro.json as json;
json.parse(text)
Parses a JSON string into RayQuiro runtime values.
json.stringify(value)
Serializes a RayQuiro value into JSON text.
Example
import rayquiro.json as json;
var data = json.parse("{\"name\":\"RayQuiro\",\"version\":\"0.0.2\"}");
print(data["name"]);
print(json.stringify(data));
Combined Runtime Example
import rayquiro.fs as fs;
import rayquiro.env as env;
import rayquiro.process as process;
import rayquiro.time as time;
import rayquiro.json as json;
var started = time.now_ms();
env.set("RAYQUIRO_MODE", "demo");
fs.mkdir("build/demo");
fs.write("build/demo/data.json", json.stringify({"name":"RayQuiro"}));
process.run("cmd /c echo Runtime demo");
print("Elapsed:", time.now_ms() - started);
Notes
- these modules are built into RayQuiro in
0.0.2 - they are not installed as separate
.dllmodules - they are the main system-level automation layer of the language