加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Array的方法行为

发布时间:2020-12-16 20:20:26 所属栏目:百科 来源:网络整理
导读:一些爆炸版的Array方法就像compact !,reject !,flatten !,uniq!如果没有更改,返回零点: [1,[2]].flatten!# = [1,2][1,2].flatten!# = nil[1,[2]].flatten# = [1,2].flatten# = [1,2][1,2,nil].compact!# = [1,2].compact!# = nil[1,nil].compact# = [1,2].
一些爆炸版的Array方法就像compact !,reject !,flatten !,uniq!如果没有更改,返回零点:
[1,[2]].flatten!
# => [1,2]
[1,2].flatten!
# => nil
[1,[2]].flatten
# => [1,2].flatten
# => [1,2]

[1,2,nil].compact!
# => [1,2].compact!
# => nil
[1,nil].compact
# => [1,2].compact
# => [1,2]

如果他们这样做,就必须有理由.任何想法可能是什么?

解决方法

bang(!)方法会修改当前对象的位置,但如果每个 the documentation没有受影响的元素,它们返回为零.如果由于某种原因,如果您修改了有问题的数组,则需要执行某些操作.
if array.flatten!
  puts "Oh yeah... flattened that array!"
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读