我从未想过这是可能的,但请阅读一些相互矛盾的评论,并认为我会问专家。
如果我正在逐行读取文件的while循环,如果当前迭代将是循环中的最后一次迭代,是否有办法执行某些代码?我知道我可以简单地将这段代码放在while循环之后,这样代码就会在最后一行之后执行,但我只是想知道迭代是否有办法检测它的位置。
谢谢!
答案 0 :(得分:6)
在您正在阅读文件的特殊情况下,是的。
while(<>) {
if(eof) {
print "The last line of the file!\n";
}
}
答案 1 :(得分:4)
虽然可能存在某些特殊情况,可以确定当前迭代是最后一次,但在一般情况下是不可能的。一个简单的例子:
while (rand() < 0.99) {
print "Hasn't ended yet\n";
}
由于无法预测下一个随机数是什么,显然不可能知道任何给定的迭代是否是最后一次迭代。