Я читал около LIKEDS
, TEMPLATE
и BASED
, пытаясь определить, существует ли способ создания шаблонов структуры данных (прототипов) с наследованием. У меня есть:Расширение структуры шаблонов (наследование)
D costs DS QUALIFIED TEMPLATE
D material 6 0
D cutting 6 0
D ...etc...
D boxCosts DS LIKEDS(costs)
D folding 6 0
D ...etc...
D posterCosts DS LIKEDS(costs)
D laminating 6 0
D ...etc...
Где я хочу boxCosts выглядеть следующим образом:
boxCosts:
material
cutting
folding
etc. (no laminating, this isn't a poster)
Есть ли способ достичь этого типа шаблона структуры данных? Я знаю, что смогу сделать:
D boxCosts DS
D common LIKEDS(costs)
D folding 6 0
D ...etc...
Но это создает иерархию, когда мне нужна плоская структура.
Возможно, я мог бы сделать это с помощью тетради, но я не знаю, было бы хуже иметь копию книги только для частей структуры данных, которые я хочу в своем собственном файле, или иметь потенциально сложную условную копию для всего приложения, которое имеет небольшую область для копирования этой информации ...? Шаблоны приходят так близко к тому, что я хочу, я подозреваю, что мне просто нужно что-то упустить.
Если вы задаетесь вопросом, ошибка компиляции, которую я получаю от попытки создания унаследованной структуры данных, как я показал, - RNF3703: The subfield or parameter definition is not specified within a group.
на первой спецификации D ниже ключевого слова LIKEDS
.
Спасибо за чтение.
Интересно, если не может быть способом сделать это без явного указания каждого подпола (* материал * и * режущего *) во вторичных структурах данных (например. * BoxCosts *). Было бы неплохо, если бы производные структуры данных автоматически унаследовали любые поля, добавленные к оригиналу. Возможно, это еще одна работа для «умных» тетрадей. – WarrenT
Спасибо, что помогли мне понять мои варианты. Есть так много, чтобы учиться и так мало примеров того, что я пытаюсь сделать ... очень сложно думать за пределами ООП (для меня все равно). –