如何在字符集中挑选一封信?

时间:2010-05-04 18:25:17

标签: rebol

想要这样做:

letters: charset "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
pick letters 2

但是选择不适用于charset所以我应该使用charset来获取位置2的字母?

1 个答案:

答案 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

然后你将获得两全其美!