【发布时间】:2016-10-04 15:23:47
【问题描述】:
我从互联网上搜索了如何在 scons 中编写我们自己的决策函数,关于如何/何时重建源文件,如下所示:
Program('hello.c')
def decide_if_changed(dependency,target,prev_ni):
if self.get_timestamp()!=prev_ni.timestamp:
dep=str(dependency)
tgt=str(target)
if specific_part_of_file_has_changed(dep,tgt):
return true;
return false;
Decider(decide_if_changed)
我有一个hello.c,没问题,但是运行scons时提示python错误:
$ scons -Q
scons: *** [o.o] NameError : global name 'self' is not defined
self 是提到类成员函数的python 关键字。在 SContruct 文件中,有一个类,但只有一个 decision_if_changed 函数。问题:
我必须在这里添加一个类吗?为什么提示python错误说'self' is not defined?
这个例子脚本是一个specific_part_of_file_has_changed的函数调用,是不是scons自己的文件可以被任何pythong语句调用?
【问题讨论】:
标签: python class member scons self