2015-08-11 2 views
0

У меня есть много разных шаблонов, определенных в моем коде TTCN-3. Для простоты давайте сосредоточимся на примере ниже:Слияние двух объектов в TTCN-3

type record Action { 
    charstring name, 
    charstring param optional, 
    charstring state optional 
} 

template Action actionTemplate(param := *, state := *) { 
    name := "Template", 
    param := param, 
    state := state 
} 

var Action actOne := {"Name", omit, "OK"}; 
template Action actTwo := actionTemplate(state := "NOT OK"); 

Есть ли возможность перебора по полям actTwo, проверьте, есть ли установить значение и обновить соответствующее поле в ацетоне? Я хотел бы сделать это в общем виде, потому что я не всегда знаю точную структуру подполей шаблона.

Есть ли возможность перебора полей шаблонов, например, перебора. dict в Python, где у нас есть ключи и соответствующие значения?

ответ

2

Вы можете применить TTCN-3 extension Advanced Parameterization и реализовать универсальную функцию, которая проверяет поля шаблона и может присваивать значения переменной.

Чтобы получить больше идей, пожалуйста, поделитесь своим вопросом с группой TTCN-3 linkedIn или in the forum.

+0

На этом этапе я решил написать плагин (shared lib) в C++ для TTCN-3, который принимает объект и шаблон, перебирает по шаблону и обновляет поля объекта. Я проверю, можно ли сделать то же самое с вашим решением. –

Смежные вопросы