如何在ruby中将整数分隔为双重部分

时间:2017-10-11 13:18:26

标签: ruby

我定义了一个数组:

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

我想显示这样的输出:

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

你有什么好建议吗?

2 个答案:

答案 0 :(得分:3)

Enumerable#each_cons

  

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

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

我相信你可以处理其余的事情。

答案 1 :(得分:2)

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

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