如何在红宝石中将整数分隔为对偶部分



我定义了一个数组:

years = (2014..Time.now.year + 1).to_a
#=> [2014, 2015, 2016, 2017, 2018]

我想显示这样的输出:

['2014-2015', '2015-2016', '2016-2017', '2017-2018']

你有什么好的建议吗?

Enumerable#each_cons

为每个连续元素数组迭代给定块。

(2014..Time.now.year + 1).each_cons(2).to_a # => [[2014, 2015], [2015, 2016], [2016, 2017], [2017, 2018]]

我相信你可以处理剩下的事情。

无需重新发明轮子,只需使用 map

(2014..Time.now.year).map { |year| "#{year}-#{year + 1}" } 
#=> ["2014-2015", "2015-2016", "2016-2017", "2017-2018"]

最新更新