- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个包含 10 个项目的数组,我想将它分成 3 个部分,如下所示:
[1, 2, 3, 4]
[5, 6, 7]
[8, 9, 10]
使用 each_slice
我可以接近:
a = *(1..10)
a.each_slice(4) # use 4 so I can fit everything into 3 sections
[1, 2, 3, 4]
[5, 6, 7, 8]
[9, 10]
但我想要第一种分布更均匀的格式。我可以编写自己的方法来做到这一点。
但是在 ruby 1.9+ 中是否有内置的方法来做到这一点?
更新:
由于没有内置方法,我想将我的问题更改为 - 您将如何实现它?
最佳答案
这是我的实现
def chunk(a, pieces)
size = a.size / pieces
extra = a.size % pieces
chunks = []
start = 0
1.upto(pieces) do |i|
last = (i <= extra) ? size.next : size
chunks << a.slice(start, last)
start = chunks.flatten.size
end
chunks
end
这样称呼
a = *(1..10)
puts chunk(a, 3)
会输出
[1, 2, 3, 4]
[5, 6, 7]
[8, 9, 10]
如果 block 太大,它会用空数组填充
a = *(1..10)
puts chunk(a, 14)
会输出
[[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [], [], [], []]
关于ruby-on-rails - 比 each_slice 更平衡的数组操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7439547/
Swift中有没有类似Ruby的Enumerable#each_slice的东西? ruby 示例: arr = ["a", "b", "c", "d"] arr.each_slice(2) {|s1
我正在尝试使用 Enumerable#each_slice。它在我的电脑上不起作用,说明找不到该方法。 我正在运行 ruby 1.8.6 (2008-08-11 patchlevel 287) [
我正在尝试将一个数组分成三个一组。我想把余数放在开头(下例中的 [1, 2])。 arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] ... #=> [[1, 2],
我希望获得一个嵌套数组,其中包含最少包含三个元素但最多包含四个元素的单个数组。当我到达 10 时,我遇到了一个问题: example = [1,2,3,4,5,6,7,8,9,10] example.
我正在尝试将数组分割为数组对。 例如:["A","B","C","D"] 应该变成 [["A","B"],["C""D"]. 我相信通过 arg.each_slice(2).to_a 我已经成功了。但
好吧,我有一个这样的数组: array = ["month", "value", "january", "30%", "february", "40%"] # etc etc ... 我正在成对打印值
我有一个包含 10 个项目的数组,我想将它分成 3 个部分,如下所示: [1, 2, 3, 4] [5, 6, 7] [8, 9, 10] 使用 each_slice 我可以接近: a = *(1..
我有一个包含正定矩阵的三维数组,我想获得一个大小与所有矩阵的 Cholesky 因子相同的数组。我正在使用 Armadillo 库和 cube 类型,为此我尝试使用方便的函数 each_slice。但
我有一个数组: ["1", "b", "0", "7", "9", "2", "a", "a", "5", "7"] 我想转换成: [["1", "b", "0"], ["7", "9", "2"]
Ruby 的 each_slice(count) 在 Python 中的等价物是什么? 我想为每次迭代从列表中获取 2 个元素。 像 [1,2,3,4,5,6] 我想在第一次迭代中处理 1,2 然后
我有随机的天数,我正在像这样迭代: @days.each_slice(7) {|week|} 并想知道我在最后几天(即上周)的时间。执行此操作的有效方法是什么? 最佳答案 我能想到的最简单的方法是定义
出于好奇,'p' 在 Ruby 中的 enumerable.each_slice 中代表什么? 例如: (1..3).each_slice(2) {|n| p n} 打印: [1, 2] [3] 和
因为我在尝试运行 flutter 应用程序时运行 flutter upgrade,所以出现此错误: [!] An error occurred while processing the pos
我正在寻找 Javascript 中 Ruby 的 Enumerable#each_slice 的等价物。 我已经在使用很棒的 underscore.js,它有 each()、map()、inject
Scala 有 Rubys 的版本吗 each_slice来自 Array 类? 最佳答案 Scala 2.8 有 grouped 将数据分成大小为 n 的 block (可用于实现 each_sli
我目前正在编写一些 F#。我创建了一个与 Ruby 的 Enumerable#each_slice 方法等效的方法,想知道是否有人有更好的(即更优雅、更简洁、更具可读性)解决方案。 这里是: let
为什么返回 nil,第 2 行是什么意思?该数组代表我正在尝试为其创建解决方案的数独谜题的行。 我正在 irb 中尝试不同的方法,看看有多少种不同的方式可以查看数组。 array = ['015003
我正在使用 ruby 1.8.5,数组的 each_slice() 方法不起作用。 我的代码是这样的: array.each_slice(3) do |name,age,sex| .....
我将 Bootstrap 与 Rails 4 结合使用。我正在使用 each_slice() 创建两列。但是,使用以下代码,我在左侧栏中得到了一个空的大空间。
获取“无效切片大小” 全新的 Rails。在前端玩耍。 - column_length = @categories.length.fdiv(3).ceil - @categories.each_sli
我是一名优秀的程序员,十分优秀!