0

这是一些片段代码。我已经测试了列出的方法并且它们工作正常,但是当我运行和测试这个方法(countLOC)时,它似乎只初始化了第一个具有实例方法调用的变量(i = self.countBlankLines())。有人知道我显然失踪的明显原因吗?

def countLOC(self):  
    i = self.countBlankLines()  
    j = self.countDocStringLines()  
    k = self.countLines()  
    p = self.countCommentLines()  
    return k-i-j-p

这将返回 -3,因为countBlankLines()返回 3(正确)。但是,它应该返回 37 作为countDocStringLines()= 6 和countCommentLines()= 4 而countLines()= 50。谢谢。

4

1 回答 1

5

如果局部变量没有被初始化(给定你的代码是不可能的!)它们不会是 0 - 相反,当你尝试使用它们时你会得到一个 NameError 异常。100% 确定其他方法调用(第一个方法调用除外)返回 0(或表达式中总计为 0 的数字)。

很难猜到,没有显示他们的代码,但是从您的评论中,我的水晶球告诉我您有一个迭代器作为实例变量:迭代它的第一个方法耗尽了它,因此其他方法发现它是空的。

于 2009-10-08T03:00:22.780 回答