はしむかいです。 On Thu, 18 Sep 2003 09:00:50 +0900 nobu.nakada / nifty.ne.jp san wrote: >>なかだです。 >>一度、一文字ずつ分けてから混ぜるのがいいんじゃないでしょうか。 >> >> def jumble(word) >> word.split(//).inject([]) {|s, c| s[rand(s.size), 0] = c; s}.join >> end >> >>マルチバイトを考えなくていいなら、pack/unpackのほうがやや速いか >>も。 >> >> def jumble(word) >> word.unpack("C*").inject([]) {|s, c| s[rand(s.size), 0] = c; s}.pack("C*") >> end 参考になります。 スピードはともかくとして、こういうのを考えていたのですが、これって 厳密な意味で"random"にはならないんですかね(あまり数学的になるとついて いけないのですが)。 -------- def jumble(word) word.scan(/./).sort{ rand <=> 0.5 }.to_s end --------