Flocks, у нас есть структура, которая позволяет нашим исследователям изменять методы (операции) в классе, чтобы соответствовать их потребностям при сохранении этих изменений. Например, рассмотрим определение класса foo ниже. (с версией 1 и версией 2)
class foo:
#class version 1
def operation_1(self):
# version 1
pass
def operation_2(self):
# version 1
pass
class foo:
# class version 2
def operation_1(self):
# version 2
pass
def operation_2(self):
# version 2
pass
другой исследователь может захотеть, чтобы его класс выглядел так, как показано ниже; (он использует метод из версии 1 и другой метод из версии 2)
class foo:
# class version 3
def operation_1(self):
# version 1
pass
def operation_2(self):
# version 2
pass
В настоящее время необходимо скопировать и вставить исходный код. Я ищу способ обобщить это. наверное что-то вроде
klass = foo()
klass.operation_1 = foo.operation_1 # from ver 1 of foo
klass.operation_2 = foo.operation_2 # from ver 2 of foo
evaluate(klass)
и, вероятно, define () - это функция, которая оценивает такие выражения. Эти классы являются постоянными