18.10.2016, 15:52 | #1 |
Участник
|
Разминка. Принять в метод map или таблицу
Чиста разминка для ума. Совершенно программистская задача.
для определенности, пусть будет https://github.com/mazzy-ax/SysCustVend Хочу сделать некий метод, который принимает либо map, либо таблицу. В этот метод хочу передать инициализированный или неинициализированный 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)); } какие минимальные действия нужно сделать в условии? какой тип у аргумента метода будет достаточен? все-таки anytype - это как-то уж очень. Последний раз редактировалось mazzy; 18.10.2016 в 17:13. |
|