Difference between revisions of "Io.lines"

From GiderosMobile
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 
'''Available since:''' Gideros 2011.6<br/>
 
'''Available since:''' Gideros 2011.6<br/>
 +
'''Class:''' [[io]]<br/>
 +
 
=== Description ===
 
=== Description ===
<translate>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
+
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.
  
    [[Special:MyLanguage/for line in io.lines(filename) do body end|for line in io.lines(filename) do body end]]
+
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)
 +
</syntaxhighlight>
  
will iterate over all lines of the file. 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 ===
 +
'''filename''': (string) filename to open '''optional'''<br/>
  
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.</translate>
 
<source lang="lua">
 
(function) = io.lines(filename)
 
</source>
 
=== Parameters ===
 
'''filename''': (string) <translate>filename to open</translate> '''optional'''<br/>
 
 
=== Return values ===
 
=== Return values ===
'''Returns''' (function) <translate>iterator function</translate><br/>
+
'''Returns''' (function) iterator function<br/>
 +
 
 +
=== Example ===
 +
'''Iterates over all lines of a file'''
 +
<syntaxhighlight lang="lua">
 +
for line in io.lines(filename) do
 +
-- body
 +
end
 +
</syntaxhighlight>
 +
 
 +
{{Io}}

Latest revision as of 15:30, 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.

(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