Difference between revisions of "Io.lines"
From GiderosMobile
(redone) |
|||
Line 5: | Line 5: | ||
=== Description === | === Description === | ||
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. | 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. | ||
<source lang="lua"> | <source lang="lua"> | ||
(function) = io.lines(filename) | (function) = io.lines(filename) | ||
Line 10: | Line 12: | ||
When the iterator function detects the end of file, it returns nil (to finish the loop) and automatically closes the file. | When the iterator function detects the end of file, it returns nil (to finish the loop) and automatically closes the file. | ||
− | |||
− | |||
=== Parameters === | === Parameters === |
Revision as of 06:15, 7 December 2020
Available since: Gideros 2011.6
Class: io
Description
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.
Parameters
filename: (string) filename to open optional
Return values
Returns (function) iterator function
Example
Iterates over all lines of a file
for line in io.lines(filename) do
-- body
end