RosettaCodeData/Task/Palindrome-dates/Ruby/palindrome-dates.rb

12 lines
292 B
Ruby

require 'date'
palindate = Enumerator.new do |yielder|
("2020"..).each do |y|
m, d = y.reverse.scan(/../) # let the Y10K kids handle 5 digit years
strings = [y, m, d]
yielder << strings.join("-") if Date.valid_date?( *strings.map( &:to_i ) )
end
end
puts palindate.take(15)