Я искал из Интернета о том, как написать собственную функцию Decider в 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 он запрашивает ошибку питона:
$ scons -Q
scons: *** [o.o] NameError : global name 'self' is not defined
самость питон ключевое слово, чтобы упомянуть функцию-член класса. Здесь, в файле SContruct, есть класс, но только функция solve_if_changed. Вопрос:
Do I have to add a class here? Why it prompts python error saying 'self' is not defined?
This example script a function call of specific_part_of_file_has_changed, is it a scons's own file that can be called by any pythong statement?