Trier des objets suivant un modèle en Ruby # Ordre à respecter modele_tri = ["b","o","x","y","a","z"] donnees_a_trier = ["x","y","z","a","b","i"] # Les données qui ne sont pas spécifiées : on les met à la fin (-Float::INFINITY pour les mettres au début) donnees_tries = donnees_a_trier.sort_by{ |v| modele_tri.index(v) || Float::INFINITY } # => ["b", "x", "y", "a", "z", "i"] # "i" est à la fin donnees_tries = donnees_a_trier.sort_by{ |v| modele_tri.index(v) || -Float::INFINITY } # => ["i", "b", "x", "y", "a", "z"] # "i" est au début Share this article: