The I/O library provides two different styles for file manipulation.
The first one uses implicit file descriptors;
that is, there are operations to set a default input file and a
default output file,
and all input/output operations are over these default files.
The second style uses explicit file descriptors.
When using implicit file descriptors,
all operations are supplied by table io .
When using explicit file descriptors,
the operation io.open returns a file descriptor
and then all operations are supplied as methods of the file descriptor.
The table io also provides
three predefined file descriptors with their usual meanings from C:
io.stdin , io.stdout , and io.stderr .
The I/O library never closes these files.
Unless otherwise stated,
all I/O functions return nil on failure
(plus an error message as a second result and
a system-dependent error code as a third result)
and some value different from nil on success. |