如何在 Ruby 中对数组进行随机排序(打乱)?
我想让我的数组项目打乱。 像这样的东西:
[1,2,3,4].scramble => [2,1,3,4]
[1,2,3,4].scramble => [3,1,2,4]
[1,2,3,4].scramble => [4,2,3,1]
等等,随机的
I'd like to have my array items scrambled.
Something like this:
[1,2,3,4].scramble => [2,1,3,4]
[1,2,3,4].scramble => [3,1,2,4]
[1,2,3,4].scramble => [4,2,3,1]
and so on, randomly
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
现在内置:
Built in now:
对于 ruby 1.8.6(没有内置 shuffle):
For ruby 1.8.6 (which does not have shuffle built in):
对于 ruby 1.8.6 作为 sepp2k 的示例,但您仍然希望使用“shuffle”方法。
干杯
For ruby 1.8.6 as sepp2k's example, but you still want use "shuffle" method.
cheers
来自 Backports Gem 的代码,仅适用于 Ruby 1.8.6 的数组。内置 Ruby 1.8.7 或更高版本。
Code from the Backports Gem for just the Array for Ruby 1.8.6. Ruby 1.8.7 or higher is built in.
Ruby Facets 扩展库有一个
Random
模块提供了有用的方法,包括shuffle
和shuffle!
到一系列核心类,包括Array
、Hash
和String
。如果您使用 Rails,请务必小心,因为我经历了一些令人讨厌的冲突,因为它的猴子补丁与 Rails 的冲突......
The Ruby Facets library of extensions has a
Random
module which provides useful methods includingshuffle
andshuffle!
to a bunch of core classes includingArray
,Hash
andString
.Just be careful if you're using Rails as I experienced some nasty clashes in the way its monkeypatching clashed with Rails'...