Si j'ai un tableau d'employés, comment puis-je trier en fonction du nom de famille de l'employé?Smalltalk collections
Répondre
devrait être quelque chose comme:
employees sortBy: [:a :b | a lastName > b lastName]
Si nous faisons ces hypothèses:
- L'instance Array est maintenu dans une variable nommée employés
- Le tableau contient une collection d'instances que tous répondent au message lastName en renvoyant une instance de chaîne
- Vous voulez trier la collection dans l'ordre croissant
Ensuite, vous pouvez faire le travail avec le fragment de code suivant:
employees asSortedCollection: [ :a :b | a lastName < b lastName ]
Ce code envoie le asSortedCollection: message mot-clé à l'instance Array nommé employés. Il passe dans l'instance de bloc, délimitée par les crochets, en tant que paramètre de ce mot-clé. Le bloc passé a deux arguments qui sont nommés un et b et sont marqués par le caractère deux-points précédent tous les | personnage. Le code dans le bloc après le | caractère sera ensuite utilisé pour trier tous les éléments de employés Array et les ajouter à une nouvelle instance de la classe SortedCollection.
Notez, cependant, que ce code finit par renvoyer une nouvelle collection qui contient les mêmes éléments également détenus par employés, mais maintenant dans l'ordre souhaité. En fait, cette nouvelle collection conserve les critères de tri (l'instance de bloc utilisée comme paramètre du message asSortedCollection:) et, à mesure que vous ajouterez d'autres instances à cette collection, elles seront automatiquement insérées dans le bon tri. commande.
- 1. Smalltalk et Assertions
- 2. Tout Smalltalk sur .NET?
- 3. Smalltalk et IoC
- 4. Différences entre Smalltalk et python?
- 5. Smalltalk, caractère de nouvelle ligne
- 6. Mise en veille prolongée: Collections de collections
- 7. Smalltalk - Conversion d'objet texte en chaîne
- 8. Communication inter-image dans Smalltalk. Possible?
- 9. Smalltalk, affichant OrderedCollection to List Widget
- 10. Mises à jour d'Asynch GUI dans Smalltalk
- 11. Collections de collections et gestion de la mémoire Objective-C
- 12. D'énormes collections en Python
- 13. Collections génériques PowerShell
- 14. NHibernate collections non persistantes
- 15. Collections de classes sérialisables
- 16. Carte des collections
- 17. C# - Collections et coulée
- 18. Collections pour les hiérarchies
- 19. Collections dans Adobe Flex
- 20. Nhibernate, collections et compositeid
- 21. C# Génériques et collections
- 22. Développement d'applications Web Smalltalk env à partir de zéro?
- 23. Smalltalk, comment insérer une tabulation dans une chaîne
- 24. Performance overhead de performance: dans Smalltalk (spécifiquement Squeak)
- 25. types Ruby de collections ActiveRecord
- 26. Fusion de deux collections Observable
- 27. Définition de collections avec variables
- 28. Comparaison de deux collections d'objets
- 29. Mappage de collections avec LINQ
- 30. Le framework Apaches Commons Collections est-il plus rapide que le framework de collections JDK?