【问题标题】:Ruby: Get consecutive pairs of elements from an array [duplicate]Ruby:从数组中获取连续的元素对[重复]
【发布时间】:2019-07-27 00:32:52
【问题描述】:

给定数组:[1,2,3,4] 我想收到[[1,2],[2,3],[3,4]] 的数组返回。

有没有一种方法或方法可以做到这一点?

【问题讨论】:

  • 顺便说一句,它不是所有对的数组(即 2 元素组合),它是一个包含所有连续对的数组。
  • @MarekLipka 感谢您的澄清!
  • 顺便说一句,这将非常有帮助,Enumerable#each_consEnumerable 的文档通常会阻止您找到此方法。这样,Ruby 开发人员可以改进文档,以便未来的开发人员不会遇到这个问题。
  • @JörgWMittag 主要问题是我不知道“连续”的概念。不是任何人的错,但我缺乏经验。

标签: arrays ruby


【解决方案1】:

您可以使用Enumerable#each_cons,将 2 作为参数传递:

[1, 2, 3, 4].each_cons(2).to_a
# [[1, 2], [2, 3], [3, 4]]

您需要在那里使用to_a,因为 each_cons 本身会返回一个 Enumerator 对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-04
    • 2018-10-29
    • 2021-05-31
    • 2011-11-14
    • 1970-01-01
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多