如何仅在GNU Smalltalk上获取密钥?
我目前正在使用sortedCollection,它存储字符字典(键)和该字符的出现次数(值)。在遍历sortedCollection时,如何仅访问键值 e、 g如何仅在GNU Smalltalk上获取密钥?,smalltalk,gnu-smalltalk,Smalltalk,Gnu Smalltalk,我目前正在使用sortedCollection,它存储字符字典(键)和该字符的出现次数(值)。在遍历sortedCollection时,如何仅访问键值 e、 g [que last notNil]同时:[ stdout假设que是一个排序的集合,每个元素都与字符作为键、计数作为值相关联,就像在[$a:20,$e:100]示例中一样,您可以这样做: que do: [:each | stdout << 'current character is ' << each key
[que last notNil]同时:[
stdout假设que
是一个排序的集合,每个元素都与字符作为键、计数作为值相关联,就像在[$a:20,$e:100]
示例中一样,您可以这样做:
que do: [:each | stdout << 'current character is ' << each key
<< ' and occurs ' << each value << ' times.' << nl]
que do:[:each | stdout您没有展示如何构建集合que,但似乎要检索键和值,您应该使用SortedDictionary或关联的排序集合对不起,que
定义如下:que=sortedCollection new.
que:=add:nodeLeaf.
wherenodeLeaf:=Dictionary new.
和迭代键和值do
,它有字符和出现次数我知道字典还没有排序,但我想我看到了如何在不同的帖子上按值排序字典,所以我会先试试。@selfPointer你能用你的实际代码更新问题吗?例如,没有提到keysAndValuesDo:在你的问题中你是如何使用它的。你是说que
是一个分类的字典集合?
que do: [:each | stdout << 'current character is ' << each key
<< ' and occurs ' << each value << ' times.' << nl]
characters := 'hello world' asBag.
characters asSet do: [:each |
stdout << 'current character is ' << each
<< ' and occurs ' << (characters occurrencesOf: each)
<< ' times.' << nl]