salut, en fait je cherche l'equivalent de str_shuffle(php) en ror quelqu'un peut m'aider ? merci d'avance
Je trouve que c'est un besoin bien étrange, mais pourquoi pas.
Surtout que je vois des gens en PHP suggérer d'utiliser ça pour un mot de passe... je recommanderais plutôt un String.crypt, à la rigueur, ou un algo bien obscur sur le marshalling, mais rien ne vaut les vrais algos de sécu. Bref. http://www.ruby-doc.org/core/classes/String.html#M000738
Tu peux transformer ta chaîne en tableau puis choisir en random (Kernel.rand(max) pour un chiffre en random) l'une des permutations, mais c'est un peu overkill et gaspillerait des ressources. http://www.ruby-doc.org/core/classes/Array.html#M000338
J'ai essayé ce petit jeu, pour voir : une fonction de tri random. Apparemment ça passe, tu n'as qu'à tester avec tes données pour voir si ça te plaît.
irb(main):014:0> s = "bonjour" irb(main):015:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join => "bonuojr" irb(main):016:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join => "oounrjb" irb(main):017:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join => "bojnoru" irb(main):018:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join => "ounbojr" irb(main):019:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join => "bnjrouo" irb(main):020:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join => "rouojbn" irb(main):021:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join => "ujboron" irb(main):022:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join => "ooubjnr" irb(main):023:0> s.split('').sort {|x,y| (Kernel.rand(42) % 3) - 1 }.join => "noobjru"
railsfrance.org - communauté francophone des utilisateurs de Ruby on Rails [ Propulsé par Drupal ]
il y a 5 jours 18 heures
il y a 1 semaine 5 jours
il y a 1 semaine 6 jours
il y a 1 semaine 6 jours
il y a 2 semaines 1 min
il y a 2 semaines 4 jours
il y a 2 semaines 5 jours
il y a 3 semaines 1 jour
il y a 3 semaines 5 jours
il y a 3 semaines 6 jours