2gua 发表于 2010-12-13 08:52

[技巧]数组“洗牌”

从Ruby 1.8.7开始,可以用shuffle方法对数组元素进行随机“洗牌”:

irb(main):001:0> a = [ 1, 2, 3 ]
=>
irb(main):002:0> a.shuffle
=>
irb(main):003:0> a.shuffle
=>
irb(main):004:0> a.shuffle
=>
irb(main):005:0> a.shuffle
=>
irb(main):006:0> a.shuffle
=>
irb(main):007:0> a.shuffle
=>
irb(main):008:0> a.shuffle
=>
irb(main):009:0>

zuerrong 发表于 2010-12-14 12:17

学习了。there is more than one way to do it, so I have:

irb(main):001:0> .sort_by{rand}
=>
irb(main):002:0> .sort_by{rand}
=>
irb(main):003:0> .sort_by{rand}
=>

2gua 发表于 2010-12-14 12:32

Ruby,秉承了Perl“不止一条路”的哲学。

gr33n 发表于 2011-11-20 00:04

学习了。很酷的技巧。

coolesting 发表于 2011-11-21 15:33

来个随机生成 一个数字和字母混合的数, 如验证码, 有没这样的方法。
页: [1]
查看完整版本: [技巧]数组“洗牌”