首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Ruby中对数组进行随机排序(置乱)?

如何在Ruby中对数组进行随机排序(置乱)?
EN

Stack Overflow用户
提问于 2009-11-30 02:45:59
回答 5查看 75K关注 0票数 132

我想让我的数组项被打乱。如下所示:

代码语言:javascript
复制
[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]

以此类推,随机地

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-11-30 02:49:15

现在内置:

代码语言:javascript
复制
[1,2,3,4].shuffle => [2, 1, 3, 4]
[1,2,3,4].shuffle => [1, 3, 2, 4]
票数 303
EN

Stack Overflow用户

发布于 2009-11-30 03:07:03

对于ruby 1.8.6 (它没有内置的shuffle ):

代码语言:javascript
复制
array.sort_by { rand }
票数 28
EN

Stack Overflow用户

发布于 2009-11-30 14:23:09

对于ruby 1.8.6作为sepp2k的例子,但您仍然希望使用"shuffle“方法。

代码语言:javascript
复制
class Array
  def shuffle
    sort_by { rand }
  end
end

[1,2,3,4].shuffle #=> [2,4,3,1]
[1,2,3,4].shuffle #=> [4,2,1,3]

干杯

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1816378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档