Я пытаюсь реализовать класс Filter.Моя первая версия была такой по этому вопросу: Kotlin vararg от A до vararg от B
В тот момент я не заметил рекурсивности при построении с предикатом, поэтому я ищудругой способ реализации этого.
Я изменил это объявление этого класса: class Filter<in T>(vararg val predicates: (T) -> Boolean)
Я пытаюсь заставить этот другой конструктор работать:
constructor(vararg filters: Filter<T>) : this(/* do something */)
Я не знаю, как отобразить множество фильтров (которые содержат множество предикатов) в множество предикатов, которые имеют все предикаты в каждом фильтре, особенно учитывая, что я не могу вызвать какую-либо функцию в классе фильтра, потому что она имеетне был инициализирован в этот момент.
Кроме того, есть лучший способ достичь того, что я пытаюсь получить (класс, который можно создать как с помощью массива предикатов, так и массива экземпляров самого класса).)