Мне было интересно, как определить схему для массива, которая позволила бы разрешить типу только один раз, но также разрешить любые другие типы n несколько раз (или разрешить любой другой тип несколько раз) независимо от порядка.
Действительно:
[ allowMany, allowMany, allowOnce, allowMany, allowOther]
[ allowOnce allowMany, allowMany, allowMany, allowOther]
[ allowOther, allowOnce, allowMany, allowOther]
Invalid:
[allowOnce, allowMany, allowOther, allowOnce]
[allowOnce, allowOnce]
Я посмотрел на contains
и попытался придумать схему items
. Проблема в том, что меня не волнует порядок, поэтому опция кортежа не работает. И определение схемы items
не учитывает типы, появляющиеся несколько раз.
У кого-нибудь есть предложение?