Difference between revisions of "Io.lines"
m (Text replacement - "<source" to "<syntaxhighlight") |
|||
Line 7: | Line 7: | ||
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. | 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. | ||
− | < | + | <syntaxhighlight lang="lua"> |
(function) = io.lines(filename) | (function) = io.lines(filename) | ||
</source> | </source> | ||
Line 21: | Line 21: | ||
=== Example === | === Example === | ||
'''Iterates over all lines of a file''' | '''Iterates over all lines of a file''' | ||
− | < | + | <syntaxhighlight lang="lua"> |
for line in io.lines(filename) do | for line in io.lines(filename) do | ||
-- body | -- body |
Revision as of 14:28, 13 July 2023
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. <syntaxhighlight lang="lua"> (function) = io.lines(filename) </source>
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 <syntaxhighlight lang="lua"> for line in io.lines(filename) do -- body end </source>