Ruby 我正在尝试将阵列拆分为两个并行阵列

Ruby 我正在尝试将阵列拆分为两个并行阵列,ruby,Ruby,我有一个数组,我需要把它分成两个,一个接一个的场景 number = [1,2,3,4,5,6,7,8,9] 我需要像下面这样把它分成两部分 split1 = [2,4,6,8] split2 = [1,3,5,7,9] 对奥雅纳回答的修改: split1, split2 = [1,2,3,4,5,6,7,8,9].partition.with_index{|_, i| i.odd?} split1 # => [2, 4, 6, 8] split2 # => [1, 3, 5,

我有一个数组,我需要把它分成两个,一个接一个的场景

number = [1,2,3,4,5,6,7,8,9]
我需要像下面这样把它分成两部分

split1 = [2,4,6,8]
split2 = [1,3,5,7,9]

对奥雅纳回答的修改:

split1, split2 = [1,2,3,4,5,6,7,8,9].partition.with_index{|_, i| i.odd?}
split1 # => [2, 4, 6, 8]
split2 # => [1, 3, 5, 7, 9]

split1, split2 = %i[a b c d e].partition.with_index{|_, i| i.odd?}
split1 # => [:b, :d]
split2 # => [:a, :c, :e]

尝试使用:split1,split2=number.partition(&:split1?)请编辑您的帖子,它对您想要构建的逻辑非常混乱。这不是一个rubysh代码,因此我不会将其添加为答案。但是您可以将其复制到编辑器中,运行并尝试理解它。如果你这样做了,那么@sawa的答案对你来说就很清楚了。不过,对于您的
#分区
是一个不错的选择<代码>数字=[1,2,3,4,5,6,7,8,9]split1,split2=数字。每个带有对象的索引(Array.new(2){[])do | ind,ary | ind.偶?ary[1][1,3,5,7,9]
你能解释一下这里发生了什么吗{{| | | | i.odd?}@ArupRakshit你注意到了分区
真是太好了。我想不出来。