Поделиться
Функции List.*M и аргумент equationCriteria
Текст представляет собой адаптированный перевод статьи
Chris Webb (Крис Уэбб), оригинал – The List.* M Functions And The equationCriteria Argument
Функции List.*M и аргумент equationCriteria

Недавно в комментариях к нашему блогу был задан вопрос о назначении третьего аргумента в функции List.Contains(). Мы провели небольшое исследование и поняли, что множество функций List.* имеют такой же аргумент. В документации к функции List.Distinct() приведено несколько примеров, но нет разъяснений по нашему вопросу. Там написано:

Подробную информацию по equationCriteria смотрите в Parameter Values.

…но ссылка на раздел Parameter Values отсутствует. Немного больше можно найти в конце официальной страницы.

Equation criteria
Аргумент equationCriteria для значений списка указывается как

– Значение функции, которое:
– Является ключом-селектором для списка значений при сравнении
– Определяет функцию компаратор. Список доступных функций смотрите в разделе Comparer functions

– Значение списка, отвечающее требованиям:
– Строго два значения
– Первый элемент это ключ селектор
– Второй элемент это функция компаратор

Не слишком помогает, не так ли? Надеемся, что наша статья окажется полезной в данном вопросе. Рассмотрим следующие примеры…

Основы

Начнём с основ. Следующее выражение, использующее функцию List.Contains(), вернёт TRUE (истина), так как текстовое значение apples присутствует в списке {"apples", "oranges", "pears"}:

List.Contains( {"apples", "oranges", "pears"}, "Apples", Comparer.FromCulture("en-GB", true) )
Made on
Tilda