arrays - 如何每次都以相同的方式对数组进行洗牌?

标签 arrays ruby shuffle

调用 Array#shuffle 随机打乱一个数组,但我想重复打乱 - ,每次都以相同的方式打乱。有办法吗?例如,我想调用 shuffle_with_key(123) 并每次都得到相同的结果。

最佳答案

Array#shuffle 可以采用种子 Random 实例。

a = [1,2,3,4]
seed = 1

a.shuffle(random: Random.new(seed))
# => [4, 1, 3, 2]

a.shuffle(random: Random.new(seed))
# => [4, 1, 3, 2]

只需将 seed = 1 替换为您要使用的任何随机种子即可。

关于arrays - 如何每次都以相同的方式对数组进行洗牌?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23047911/

相关文章:

java - 我的循环中出现错误。线程 "main"java.util.NoSuchElementException 中出现异常。错误是我的扫描仪?

javascript - 数组中的字符串在 HTML 中不显示为字符串

sql - 如何正确转换或查询 Rails/MySQL DateTime 列的日期范围

ruby-on-rails - 为什么 Time.now.today?在我的 Rails 4 应用程序中返回 false?

python - 随机播放 DataFrame 行

arrays - 确定两个数组在排列方面是否相同?

java - 如何让用户选择任何电影

ruby-on-rails - rails : Query parents with grandchildren (associations)

c# - 通过多个图片框循环多个图像

java - Hadoop MapReduce : size of data processed in shuffle and reduce phase