VariantCompare ()
macro VariantCompare (o1 : Variant, o2 : Variant) : Integer
Универсальная функция-компаратор для двух переменных RSL o1 и o2. Для двух примитивов одного типа проведет сравнение через > < ==
, если примитивы будут разного типа бросит ошибку. Для аргументов разных типов вернет результат сравнения числовых констант типов, т.е по возрастанию будут идти (Undefined, Integer, String и т.д ). Для объектных типов попробует выполнить метод compareTo(obj) : Integer
, если такой метод не будет определен в классе, бросит ошибку. Если оба элемента равны null
вернет 0. Работает медленней чем собственные функции-компараторы, но за константное время, т.е. не усложняет алгоритм использующий эту функцию.