想要这样做:
letters: charset "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
pick letters 2
但是选择不适用于charset所以我应该使用charset来获取位置2的字母?
答案 0 :(得分:3)
字符集是“集合”,因此不具有“位置”的概念。有了它们,你可以测试成员资格,做差异,否定等等。但它们只是一种优化。
如果您关心“枚举订单”,那么您的枚举器会强制执行订单,而不是订单。
请注意此代码 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
然后你将获得两全其美!