当前位置:  开发笔记 > 后端 > 正文

如何使用Ruby集合函数合并空行中的值?

如何解决《如何使用Ruby集合函数合并空行中的值?》经验,为你挑选了1个好方法。

我有一个集合:

a = [[1, "a"], [nil, "b"], [nil, "c"], [2, "a"], [nil, "b"]]

[[1, "a"], 
 [nil, "b"], 
 [nil, "c"], 
 [2, "a"], 
 [nil, "b"]] 

我想得到:

[[1, "abc"],   
 [2, "ab"]]

在Ruby中实现这一目标的正确方法是什么?如何有效地使用ruby内置集合函数?



1> sawa..:
a
.slice_before{|k, _| k}
.map{|a| [a.first.first, a.map(&:last).join]}
# => [[1, "abc"], [2, "ab"]]

要么

a
.slice_before{|k, _| k}
.map{|a| a = a.dup; [a.first.shift, a.join]}
# => [[1, "abc"], [2, "ab"]]

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有