class I
     def self.forget(u,&block)
         @yousomething ="about   "+ u + "   something    "
         if block
            block.call "I forget "+ @yousomething
        else
           @yousomething + "don`t about me"
        end
    end
end
 I.forget('you'){|something| something + "but I still love you"}
=>"I forget about  you  something  but I still love you"


另:



 class You
    def initialize(u)
        @u = u
    end
    def remember
        puts " remember " + @u + " something "
        return self
    end
     def deepen
         p ",I still love" + @u+ " deepen!"
         return self
     end
 end

class I
    def self.forget(u,&block)
         you = You.new(u)
         if block
              block.call you
         else
              you
         end
   end
end

irb(main):087:0> I.forget('you'){|something| something.remember.deepen}

=> remember you something,I still loveyou deepen!





还可以用method_missing方法来造句。。。
待修改