In C, I can read an input and stop the program when it reaches the end of file (EOF
). Like so.
#include <stdio.h>
int main(void) {
int a;
while (scanf("%d", &a) != EOF)
printf("%d\n", a);
return 0;
}
How can I do that in Lua?
The Lua Documentation features a ton of details on file-reading and other IO. For reading an entire file:
t = io.read("*all")
apparently reads an entire file. The documentation has examples on reading line-by-line etc. Hope this helps.
Example on reading all lines of a file and numbering each of them (line-by-line):
local count = 1
while true do
local line = io.read()
if line == nil then break end
io.write(string.format("%6d ", count), line, "\n")
count = count + 1
end
For a similar program in lua, you can read it line by line and check if the line is nil(which is returned when the line is EOF).
while true do
local line = io.read()
if (line == nil) then break end
end