分行迭代读取文件

io.lines(file = io.stdin )

io.lines自动打开通过file参数指定路径的文件。
file参数也可以是使用io.open打开的文件对象,省略file参数则使用默认值io.stdin。

io.lines创建一个迭代器, 支持在泛型for循环中逐行读取文件,在读取完毕以后自动关闭文件对象。使用io.lines可以避免一次性读取太大的文件。


io.open();//打开控制台窗口

for line in io.lines("d:\test.txt") {
//io.lines()返回的迭代器函数每次读取文件中的一行

    io.print(line);
}

使用 file.read函数可以实现类似的功能:


io.open();//打开控制台窗口

file = io.open("d:\test.txt")

line = file.read();//读取下一行
while( line ) {
    io.print(line);
    line = file.read();//读取下一行
}

file.close();

下面是在控制台使用io.lines的示例:

io.open()//打开控制台
io.print("您可以输入aardio代码回车运行
输入exit并回车退出");

for line in io.lines( ) { 
if(string.lower(line)=="exit")break;
try{//容错语句
io.print( loadcode(line)() );//执行用户输入的aardio代码
}
catch(e){//捕获错误信息
io.print(e)
} 
}