Здравствуйте, UncleFox, Вы писали:
UF>Доброго времени суток!
UF>Как-то в теме sc посоветовал «встроить интерпретатор языка с динамической типизацией (python, etc)». С питоном всё ясно. Там есть некая функция, которая мастерит класс My_Class и потом по нему создаётся обьект my_object.
UF>UF>def cls_factory_f(InFuncTuple):
UF> class X(object):
UF> pass
UF> i = int(0)
UF> sizeIFT = len(InFuncTuple)
UF> while i < sizeIFT:
UF> setattr(X, InFuncTuple[i], InFuncTuple[i+1])
UF> i += 2
UF> return X
UF>my_value_name = "val"
UF>my_value = int(0)
#Проще надо быть:
my_value = 0
UF>my_value_name1 = "val1"
UF>my_value1 = int(1)
#Проще надо быть:
my_value1 = 1
UF>InFuncTuple = tuple ([my_value_name])+tuple ([my_value])+\
UF> tuple ([my_value_name1])+tuple ([my_value1])
#Проще надо быть:
InFuncTuple = (my_value_name, my_value,
my_value_name1, my_value1)
#А лучще:
InFuncTuple = ((my_value_name, my_value),
(my_value_name1, my_value1))
#Тогда cls_factory_f заметно упроститься
UF>My_Class = cls_factory_f(InFuncTuple)
UF>my_object = My_Class()
UF>print "val: ", my_object.val
UF>print "val1: ", my_object.val1
UF>
UF>Вопрос такой: Каким образом я могу из C++ добиться отработки функции – фабрики, передав ей в качестве параметра tuple, и после этого воспользоваться объектом?
У python-а очень хорошая документация. Там всё довольно подробно описано.
Смотри раздел "Extending and Embedding the Python Interpreter" главу 5. "Embedding Python in Another Application"
UF>Желательно на примере.
Там и примеры есть

... << RSDN@Home 1.2.0 alpha rev. 677>>