pub fun get(name: str, buf: *u8, cap: usize) i64;
将环境变量读入缓冲区
当值适合(ret < cap)时,会被复制并以空字符结尾。 总是返回值的完整长度,因此 ret >= cap 表示发生截断(缓冲区内容未指定),并且 ret + 1 是可用于重试的容量。
name:变量名 buf:目标缓冲区 cap:缓冲区容量(以字节为单位) ret:值的完整长度,出错时返回负数(NOT_FOUND 为 -1)
pub fun value(a: *A.Allocator, name: str) R.Result[str, str];
将环境变量读入新分配的字符串中
首先使用小型栈缓冲区进行探测,当值较大时,使用精确分配重试一次,因此常见情况只需一次读取,且任意长度的值都能正确解析。
a:用于结果的分配器 name:变量名 ret:拥有的值,或在未设置或分配失败时返回错误
pub fun current_dir(a: *A.Allocator) R.Result[str, str];
将当前工作目录读入新分配的字符串中
a:用于结果的分配器 ret:拥有的工作目录路径,或返回错误
pub fun environ() **u8;
程序启动时由运行时捕获的继承环境变量。
ret:以空字符结尾的 "NAME=value" 字符串数组,如果环境不可用(例如在运行时初始化之前)则为 nil