在C中,我可以读取输入并在程序到达文件末尾(EOF
)时停止该程序。像这样。
#include <stdio.h>
int main(void) {
int a;
while (scanf("%d", &a) != EOF)
printf("%d\n", a);
return 0;
}
我怎么能在Lua中做到这一点?
答案 0 :(得分:7)
Lua Documentation提供了大量有关文件读取和其他IO的详细信息。读取整个文件:
t = io.read("*all")
显然是读取整个文件。文档中有逐行阅读的例子。希望这会有所帮助。
读取文件的所有行并对每个行进行编号(逐行)的示例:
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
答案 1 :(得分:3)
对于lua中的类似程序,您可以逐行读取它并检查行是否为nil(当行为EOF时返回)。
while true do
local line = io.read()
if (line == nil) then break end
end