我定义了一个数组:
years = (2014..Time.now.year + 1).to_a
#=> [2014, 2015, 2016, 2017, 2018]
我想显示这样的输出:
['2014-2015', '2015-2016', '2016-2017', '2017-2018']
你有什么好建议吗?
答案 0 :(得分:3)
为每个连续元素数组迭代给定的块。
(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"]