Bonjour

Un hash n'est pas fait pour être ordonné, tu dois donc ordonner ses
clés préalablement.
Par exemple pour ce que tu veux faire, essaie:
f=options[:fields]
requested_attributes = f.keys.sort_by{ |k| f[k]["pos"] }.in_groups_of(2)

Le 19 juin 2008 10:51, Tony Chauveau <[EMAIL PROTECTED]> a écrit :
>
> Bonjour,
>
> Il y a quelques temps, j'ai pu voir que certains ici étaient très fort
> pour ordonner des tableaux. Ne trouvant pas comment m'y prendre pour
> classer correctement un hash, je viens demander vos lumières :
>
> Voici déjà le hash :
>
> :fields => {:login => { "fieldname" => "Login", "pos" => 3 }, :firstname
> => { "fieldname" => "Nom", "pos" => 1 }, :lastname => { "fieldname" =>
> "Pr&eacute;nom", "pos" => 2 }, :email => { "fieldname" => "Email",
> "vtype" => "email", "pos" => 4 }, :address => { "fieldname" =>
> "Adresse", "pos" => 5 }}
>
> Ce hash est ensuite utilisé en diverses occasions donc une fonction sur
> laquelle je sors les clés que je groupe par 2 dans un tableau. Celà
> donne le code suivant :
>
> requested_attributes = options[:fields].keys.in_groups_of(2)
>
> Avant d'ajouter le "pos", ce tableau me classait mes éléments par ordre
> alphabétique (:address, :email, :firstname, :lastname, :login) , mon but
> est de permettre de choisir l'ordre d'apparition de mes champs en
> fonction de ce "pos".
>
> J'ai tenté avec sort_by sans vraiment de succès, j'imagine que je
> l'emploi assez mal.
>
> Merci.
> --
> Posted via http://www.ruby-forum.com/.
>
> >
>



-- 
Baptiste

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Répondre à