Combinatory method like tap, but able to return a different value?

前端 未结 5 1719
时光取名叫无心
时光取名叫无心 2020-12-24 06:00

I\'m going through a phase of trying to avoid temporary variables and over-use of conditional where I can use a more fluid style of coding. I\'ve taken a great liking to us

5条回答
  •  死守一世寂寞
    2020-12-24 07:00

    Define Object#as:

    class Object
      def as
        yield self
      end
    end
    

    And now you can write:

    def not_sure_this_is_nice_enough_method1
      something_complex(a, b, c).as do |obj| 
        a_predicate_check? ? obj.one_more_method_call : obj
      end
    end
    

提交回复
热议问题