gpt4 book ai didi

ruby - 将 ruby​​ 中的数组拆分为多个随机大小的较小数组的最佳方法是什么

转载 作者:数据小太阳 更新时间:2023-10-29 07:22:35 25 4
gpt4 key购买 nike

我有多个 ruby​​ 数组,长度从 1 到 40 不等:

@items 是一个典型的数组,长度可以在 1 到 40 之间。例如

@items = [1, 2, 3, 4, 5, 6]

我想将数组随机拆分为长度为 1、2 或 3 的较小数组,以给出(例如)的结果

@items = [[1, 2],[3],[4,5,6]]

@items = [[1],[2, 3],[4],[5,6]]

等等

我知道您可以使用 @items.each_slice(3)... 拆分数组,其中 3 是固定长度。但我想随机将可变长度的大型数组随机拆分为 1、2 或 3 的数组大小......实现此目的的最佳方法是什么?

最佳答案

items, @items = @items.dup, []
@items.push(items.shift(rand(1..3))) until items.empty?

关于ruby - 将 ruby​​ 中的数组拆分为多个随机大小的较小数组的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15513108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com