Показать сообщение отдельно
Старый 18.10.2016, 17:11   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
а нам действительно надо знать, что это именно map?
нет конечно, реальную задачу я переформулирую, чтобы обойтись и без этого )))

а вот для себя хотелось бы понять - есть ли способ "действительно знать".
я чуток подправил псевдокод, чтобы было понятно где и какой именно результат хотелось бы получить

X++:
str TheUltimateQuestionOfLifeTheUniverseAndEverything(anytype mapOrTable)
{
   if( /* Deep Thought question: mapOrTable is CustVendTable */ )
      return 'nirvana';
   return '42';
}

static void main(Arga args)
{
   CustTrans ctr;
   VendTrans vtr;
   CustVendTrans mapTr;
   CustVendTrans mapTrInit = vtr;
   CustTable ct;
   VendTable vt;
   CustVendTable mapT;
   CustVendTable mapTinit = ct;

   debug::assert('42' == TheUltimateQuestionOfLifeTheUniverseAndEverything (ctr));
   debug::assert('42' == TheUltimateQuestionOfLifeTheUniverseAndEverything (vtr));
   debug::assert('42' == TheUltimateQuestionOfLifeTheUniverseAndEverything (maptr));
   debug::assert('42' == TheUltimateQuestionOfLifeTheUniverseAndEverything (maptrInit));
   debug::assert('42' == TheUltimateQuestionOfLifeTheUniverseAndEverything (ct));
   debug::assert('42' == TheUltimateQuestionOfLifeTheUniverseAndEverything (vt));
   debug::assert('nirvana' == TheUltimateQuestionOfLifeTheUniverseAndEverything (mapTinit));
   debug::assert('nirvana' == TheUltimateQuestionOfLifeTheUniverseAndEverything (mapT));
}

Последний раз редактировалось mazzy; 18.10.2016 в 17:15.