【发布时间】:2017-08-03 22:48:42
【问题描述】:
我使用的是 Ruby 2.4。我正在尝试拆分数组中的元素。我想要的是用我的拆分结果形成等效的数组。我希望拆分的第一部分是第一个数组,而拆分的第二部分是第二个数组。所以我有
data_col = ["mm a", "nn b", "nn a"]
arr1, arr2 = data_col.map do |x|
if x
a, b, c = x.partition(/(^|[[:space:]]+)[ab]$/i)
[b.strip, a + c]
else
[nil, nil]
end
end.transpose
#=> [["a", "b", "a"], ["mm", "nn", "nn"]]
问题是,拆分工作正常,但数组正在反转。我希望 ["mm", "nn", "nn"] 成为数组中的第一个元素。我该如何重写才能正确返回数组——也就是说,拆分的第一部分在第一个数组中,而拆分的第二部分在第二个数组中?
【问题讨论】:
标签: arrays ruby split ruby-2.4