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

ruby阵列循环总是配对

发布时间:2020-12-16 21:47:13 所属栏目:百科 来源:网络整理
导读:我有以下数组: a = ['sda','sdb','sdc','sdd'] 现在我想循环访问这些条目,但总是使用两个元素.我现在就这样做: while b = a.shift(2) # b is now ['sda','sdb'] or ['sdc','sdd']end 这感觉到某种错误,有没有更好的办法呢?有没有办法轻松获得像[[‘sda’,
我有以下数组:
a = ['sda','sdb','sdc','sdd']

现在我想循环访问这些条目,但总是使用两个元素.我现在就这样做:

while b = a.shift(2)
  # b is now ['sda','sdb'] or ['sdc','sdd']
end

这感觉到某种错误,有没有更好的办法呢?有没有办法轻松获得像[[‘sda’,’sdb’],[‘sdc’,’sdd’]]的东西?

我读了http://www.ruby-doc.org/core-1.9.3/Array.html,但我没有找到有用的东西…

解决方法

您可能需要查看 Enumerable,而这是包含在Array中.

你想要的方法是Enumerable#each_slice,它从可枚举的元素数量中反复得到(或者如果最后没有那么多的元素):

a = ['sda','sdd']
a.each_slice(2) do |b|
    p b
end

产量:

$ruby slices.rb 
["sda","sdb"]
["sdc","sdd"]
$

(编辑:李大同)

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

    推荐文章
      热点阅读