我有以下数组:
arr = [0, 1, 1, 2, 3, 1, 0, 0, 1]
在不改变值的顺序的情况下,我需要在每次出现
arr
时将0
细分为更小的数组,这样的结果将是:arr = [ [0, 1, 1, 2, 3, 1], [0], [0, 1] ]
如果
arr
是一个字符串,我可以使用.split("0")
,然后将分隔符前置到每个子数组。在普通ruby for arrays中,.split()
最有效的等价物是什么? 最佳答案
arr = [0, 1, 1, 2, 3, 1, 0, 0, 1]
p arr.slice_before(0).to_a
# => [[0, 1, 1, 2, 3, 1], [0], [0, 1]]
在REPL.IT上查看:https://repl.it/FBhg