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方法来造句。。。
待修改