2010-05-04 47 views
0

想做到這一點:如何在字符集中選擇一個字母?

letters: charset "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
pick letters 2 

但挑不與字符集工作,所以我應該怎麼用字符集用得到第2位的信?

+0

你應該考慮在問題文本中寫下你正在使用哪種語言(rebol?)。 – aioobe 2010-05-04 18:29:02

+1

標籤存在的原因。把標題中的語言混亂。請參閱:http://meta.stackexchange.com/questions/4054/whats-in-a-title-line – HostileFork 2010-05-04 19:24:22

回答

3

字符集是「集合」,因此並不真正具有「位置」的概念。有了它們,你可以測試成員資格,做差異化,否定等等,但它們只是一種優化。

如果您關心「枚舉順序」,那麼它是您的枚舉器強制執行順序,而不是集合。

注意從 http://www.mail-archive.com/[email protected]/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 

然後你得到兩全其美!

相關問題