Available since: Gideros 2011.6
Class: io


Opens the given file name in read mode and returns an iterator function. Each time the iterator function is called, it returns a new line from the file.

The call io.lines() (with no file name) is equivalent to io.input():lines() that is, it iterates over the lines of the default input file. In this case it does not close the file when the loop ends.

(function) = io.lines(filename)

When the iterator function detects the end of file, it returns nil (to finish the loop) and automatically closes the file.


filename: (string) filename to open optional

Return values

Returns (function) iterator function


Iterates over all lines of a file

for line in io.lines(filename) do
	-- body