84
bit.band (x1 [, x2...])
Binary and between any number of variables
bit.bor (x1 [, x2...])
Binary and between any number of variables
bit.bxor (x1 [, x2...])
Binary and between any number of variables
bit.lshift (value, shift)
Left binary shift
bit.rshift (value, shift)
Right binary shift
6.1.26. Input and Output Facilities
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.
io.close ([file])
Equivalent to file:close(). Without a file, closes the default output file.
io.flush ()
Equivalent to file:flush over the default output file.
io.input ([file])
When called with a file name, it opens the named file (in text mode), and sets its handle as the
default input file. When called with a file handle, it simply sets this file handle as the default
input file. When called without parameters, it returns the current default input file. In case of
errors this function raises the error, instead of returning an error code.
io.lines ([filename])
Opens the given file name in read mode and returns an iterator function that, each time it is
called, returns a new line from the file. Therefore, the construction
for line in io.lines(filename) do body end