Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – RoR / Ruby从嵌套数组中删除nil个元素大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
要将阵列分成两个相等的部分,我会这样做,
>> a = [1,2,3,4,5]
=> [1,5]
>> a.in_groups_of( (a.size/2.0).ceil ) if a.size > 0
=> [[1,3],[4,5,nil]]

现在我有一个包含nil元素的嵌套数组,如果数组的大小是奇数.如何从嵌套数组中删除零元素?我想做点像,

a.compact

但不幸的是,这不行,ruby只会在第一级删除nil元素,而不是递归. ruby为这个问题提供了很好的解决方案吗?

解决方法

使用Ruby 1.8.7及更高版本,您可以执行以下操作:
a.each &:compact!
=> [[1,5]]

使用Ruby 1.8.6,您可以做很长的路:

a.each {|s| s.compact!}

这两个都将修改a的内容.如果要返回一个新的数组并将其保留原来,可以使用COllect而不是每个数组:

# 1.8.7+:
a.collect &:compact

# 1.8.6:
a.collect {|s| s.compact}

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – RoR / Ruby从嵌套数组中删除nil个元素全部内容,希望文章能够帮你解决ruby-on-rails – RoR / Ruby从嵌套数组中删除nil个元素所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。