やってることは上の過去記事とおなじ
lambda の定義をなくして、 yield_self
を使うように書き換えた
こういうときが yield_self
を使う場面なのだろか
require 'date' pp current_day = Date.new(2018, 11, 1) # => #<Date: 2018-11-01 ((2458424j,0s,0n),+0s,2299161j)> pp to_comparing_day = Date.new(2018, 11, 15) # => #<Date: 2018-11-15 ((2458438j,0s,0n),+0s,2299161j)> def compare_month_day(date_a, date_b) [date_a, date_b].map { |date| [date.month, date.day] } .tap { |a, b| p a, b } # => [11, 1], [11, 15] : for debug .yield_self { |a, b| a.eql?(b) } # => false end pp compare_month_day(current_day, to_comparing_day) # => false pp compare_month_day(current_day, Date.new(2018, 11, 1)) # => true