Charsets являются "наборами" и, таким образом, на самом деле не имеют понятия "позиция". С их помощью вы можете проверять членство, проводить различия, отрицание и т. Д. Но это всего лишь оптимизация.
Если вы заботитесь о «порядке перечисления», то ваш счетчик следит за порядком, а не за множеством.
Обратите внимание на этот код от
http://www.mail-archive.com/rebol-list@rebol.com/msg16432.html
bitset: charset "aaaaybcx"
chars: copy {}
for i 0 (subtract length? bitset 1) 1 [
if find bitset i [append chars to-char i]
]
?? chars
Если вы действительно заботитесь о порядке, рассмотрите возможность сохранения серии (например, строки!). например в приведенном выше примере ничто не мешает вам сделать:
letter-string: "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
letter-set: charset letter-string
pick letter-string 2
Тогда вы получите лучшее из обоих миров!