如果我有一羣員工,我如何根據員工姓氏排序?Smalltalk集合
2
A
回答
6
應該是這樣的:
employees sortBy: [:a :b | a lastName > b lastName]
5
如果我們做出以下假設:
- 的陣列實例在一個名爲變量舉行員工
- 數組中存放的實例集合通過返回字符串實例,所有人都回應姓氏
- 你要以升序排序的集合
然後你可以用下面的代碼片段做的工作:
employees asSortedCollection: [ :a :b | a lastName < b lastName ]
此代碼發送asSortedCollection:關鍵字消息給Array實例名爲僱員。它傳入Block實例,由方括號分隔,作爲該關鍵字消息的參數。傳入的塊有兩個參數,分別命名爲a和b,並由前面的冒號字符標記,字符。 Block內的代碼在|之後字符將用於對員工數組中的所有元素進行排序,並將它們添加到SortedCollection類的新實例中。
但請注意,此代碼最終會返回一個新集合,該集合包含員工所持有的相同項目,但現在按照所需順序。實際上,新的集合會保留到排序條件(Block實例被用作消息的參數asSortedCollection:消息),並且在將來向該集合添加更多實例時,它們將自動插入正確的排序訂購。
相關問題
- 1. 在Smalltalk鍵入的集合
- 2. 在Smalltalk上流式傳輸Ruby集合
- 3. Smalltalk的結合
- 4. 從Smalltalk中的集合生成所有組合
- 5. Smalltalk中的重複組合
- 6. Smalltalk:按照兩個標準對集合進行排序
- 7. Smalltalk將分揀收集寫入文件
- 8. Smalltalk-80最適合用在哪裏?
- 9. Smalltalk - printOn:
- 10. 在Smalltalk
- 11. Smalltalk中的關聯集合和字典之間有什麼區別?
- 12. Smalltalk,Perl,Python和Ruby之間的集合和流類的等價性
- 13. 如何從Smalltalk的集合中獲取特定數量的隨機元素?
- 14. C++集合集合
- 15. 集合集合中的唯一集合
- 16. QuickCheck for Smalltalk?
- 17. Basic Smalltalk子類
- 18. Smalltalk Return Precedence
- 19. Pharo Smalltalk和mySql
- 20. Smalltalk x raisedTo:y error
- 21. Modding Smalltalk圖像
- 22. Smalltalk新行?
- 23. Smalltalk GUI庫
- 24. GNU Smalltalk API?
- 25. 從集合創建集合?
- 26. 緩存集合樣集合
- 27. 循環集合集合
- 28. 展平集合的集合
- 29. 集合中的Hibernate集合
- 30. MDX:集合中的集合