Показать сообщение отдельно
Старый 23.06.2011, 13:03   #9  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Цитата:
Сообщение от 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 сделал из того, что ключ и значение могут быть разных типов, и в силу этого в коде данного метода, скорее всего, решили опустить проверку, т.к. сочетаний типов "Ключ - Значение" может быть очень много.
__________________
С уважением, Александр.