Login  Register

Re: Permutations pour une collection

Posted by sebastien audier on Jun 02, 2014; 4:59pm
URL: https://forum.world.st/Permutations-pour-une-collection-tp4761332p4761335.html

Ok merci Serge, j'avais bien vu cette méthode, mais je n'ai peut-être saisi au premier coup d'oeil son bon comportement.

Je vais re-itérer mes essais.

Encore merci,


Le 2 juin 2014 18:16, Serge Stinckwich <[hidden email]> a écrit :
J'ai eu un problème un peu similaire sur les combinaisons d'une collection.
J'ai utilisé la méthode combinations: kk atATimeDo: aBlock également
définie sur SequenceableCollection.



2014-06-02 17:54 GMT+02:00 Sebastien Audier <[hidden email]>:
> Bonjour tout le monde,
>
> Je cherchais une méthode pour générer toutes les permutations possible d'une
> collection.
> A partir d'une collection, je dois obtenir une collection de collections
> distinctes.
>
> Il y a la méthode permutationsDo:
> Celle-ci est implémenté pour les classes Interval et SequenceableCollection.
>
> Cela fonctionne parfaitement pour Interval, mais pas vraiment pour une
> collection. Le résultat obtenu n'est pas celui auquel je m'attend.
>
> J'ai donc implémenté une méthode temporaire qui invoque la méthode déjà
> présente dans la classe Interval:
>
> permutationsFor: aCollection
> | res |
> res := OrderedCollection new.
> (1 to: (aCollection size)) permutationsDo: [ :each | | temp |
> temp := OrderedCollection new.
> each do: [ :item |
> temp add: (aCollection at: item)].
> res add: temp].
> ^res
>
>
> Pensez-vous qu'il y aurait une meilleur façon de faire ? (plus élégante ou
> qui existe déjà et que j'aurai loupé...)
>
> En vous remerciant par avance,
>
> --
> Sébastien AUDIER
>
> S.A.R.L Objectfusion,
> Applications web, consulting,
> Smalltalk developpement
>
> --
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
> "Smalltalk-fr".
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
> concernant, envoyez un e-mail à l'adresse
> [hidden email].
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/d/optout.



--
Serge Stinckwich
UCBN & UMI UMMISCO 209 (IRD/UPMC)
Every DSL ends up being Smalltalk
http://www.doesnotunderstand.org/

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Smalltalk-fr.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [hidden email].
Pour plus d'options, visitez le site https://groups.google.com/d/optout .



--
Sébastien AUDIER

S.A.R.L Objectfusion,
Applications web, consulting,
Smalltalk developpement

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Smalltalk-fr".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [hidden email].
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.