执行一个对象的实例方法,并在其块中调用另一个对象的实例方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了执行一个对象的实例方法,并在其块中调用另一个对象的实例方法相关的知识,希望对你有一定的参考价值。

  1. # encoding: utf-8
  2.  
  3. module ObjectExtensions
  4. def execute(&block)
  5. Extension.new.execute(&block)
  6. end
  7. end
  8.  
  9. class Extension
  10. def execute(&block)
  11. self.instance_eval(&block)
  12. end
  13.  
  14. def one; puts 'one' end
  15. def two; puts 'two' end
  16. def three; puts 'three' end
  17. end
  18.  
  19. Object.__send__(:include, ObjectExtensions)
  20.  
  21. one rescue puts 'boom!' #=> boom!
  22. two rescue puts 'boom too!' #=> boom too!
  23. three rescue puts 'boom three!' #=> boom three!
  24.  
  25. execute do
  26. one #=> one
  27. two #=> two
  28. three #=> three
  29. four rescue puts 'boom four!' #=> boom four!
  30. end

以上是关于执行一个对象的实例方法,并在其块中调用另一个对象的实例方法的主要内容,如果未能解决你的问题,请参考以下文章

OCMock 测试分配一个对象并在其上调用一个方法

将块中异步接收的 JSON 对象传递给实例变量 - 在 iOS6 上使用 AFNetworking

php设计模式之适配器模式

如果对象在其方法执行完成之前被释放怎么办

React 中的 React.component 除了创建我们组件的实例并在其上设置 props 对象之外还有啥作用?

为啥我能够从在同一对象的另一个实例上调用的方法访问一个实例的私有实例变量? [复制]