Skip to main content

os

The os contains functions that are related to the operating system.

//os.args <: array_of_strings#

args contains an array of strings representing the arguments provided on the command line when running an arrai program. //os.args(0) is the path of the arr.ai program that was invoked from the command line.

Usage:

exampleequals
//os.args["arg0", "arg1", "arg2", ...]

//os.cwd <: string#

cwd contains a string representing the current user directory.

//os.exists(filepath <: string) <: boolean#

exists returns true if a file or directory exists at filepath, or false otherwise.

//os.file(filepath <: string) <: array_of_bytes#

file returns the content of a file located at filepath in the form of an array of bytes.

Usage:

exampleequals
//os.file("path/to/file")<<...>>
//os.file("/absolute/path/to/file")<<...>>

//os.tree(dirPath <: string) <: set#

tree returns a set of stat details about all directories and files in the tree rooted at dirPath (including dirPath itself). Each file and directory is a tuple with the attributes (name, path, is_dir, size, mod_time).

If dirPath is a file, tree returns a set containing details for just that file.

The path attribute is relative to the current working directory, not dirPath.

//os.get_env(key <: string) <: string#

get_env returns the environment variable that corresponds to key in the form of a string.

Usage:

exampleequals
//os.get_env("KEY")"string_value"

//os.isatty(fileDescriptor <: int) <: bool#

isatty returns true if the fileDescriptor (0 for stdin, 1 for stdout) is a terminal, or false otherwise (e.g. if input is piped in).

Usage:

exampleequals
arrai eval "//os.isatty(0)"true
`echo ""arrai eval "//os.isatty(0)"`

//os.path_separator <: string#

path_separator contains the path separator of the current operating system. / for UNIX-like machine and \ for Windows machine.

Usage:

exampleequals
//os.path_separator"/" or "\"

//os.path_list_separator <: string#

path_list_separator contains the path list separator of the current operating system. : for UNIX-like machines and ; for Windows machines.

Usage:

exampleequals
//os.path_list_separator":" or ";"

//os.stdin <: array_of_bytes#

stdin holds all the bytes read from stdin. The bytes are read when //os.stdin is accessed for the first time.

exampleequals
//os.stdin<<...>>