Цитата:
Сообщение от
S.Kuskov
Не понял вас. Можете пояснить?
Пример функции инвертирования (взят из книги Еременко, Шашкова)
X++:
Map invertMap(map _mapToInvert)
{
mapIterator it;
map result = new map(_mapToInvert.valueType(), _mapToInvert. keyType()) ;
if(_mapToInvert.keyset().elements() != _mapToInvert.valueSet().elements())
{
return null;
}
it = new mapIterator(mapToInvert);
while(it.more())
{
result.insert(it.value(), it.key());
it.next();
}
return result;
}
Предположение о причине отсутствия проверки на типы в методах insert() класса Map сделал из того, что ключ и значение могут быть разных типов, и в силу этого в коде данного метода, скорее всего, решили опустить проверку, т.к. сочетаний типов "Ключ - Значение" может быть очень много.