- 11
- 0
- 约3.73千字
- 约 14页
- 2016-11-27 发布于河南
- 举报
第4课(代码块的使用和module)
module的定义、使用 # 多重继承 module B1 def a p a end end module B2 def b p b end end class B3 include B1 include B2 end #测试 b3 = B3.new b3.a #= a b3.b #= “b 株式会社アルファアイティーシステム * module的定义、使用 extend 引用模块,extend与include的区别在于,include是引用作为实例方法使用,而extend是作为类方法使用。 module D1 def test p extend end end class D extend D1 end #测试 D.test #= extend 株式会社アルファアイティーシステム * module的定义、使用 模块的回调方法:included module M def self.included(name) p #{name} included M end end class C include M end #=C included M“ module在被引用的时候,会自动调用included方法 株式会社アルファアイティーシステム * module的定义、使用 引入ruby文件方法:require a.rb文件 b.rb文件 module M1 module M2 def input def output p input p output end end end end module M2 class C def output require ‘a.rb p output include M1 end include M2 end end #测试 c = C.new c.output #= output c.input #= input 株式会社アルファアイティーシステム * 作业 Wiki学习地址 0/cn/index.php?cmd=readpage=Trash%2FTraining-201012%2Flxd%20block%E3%80%81proc%E3%80%81lambadaword=block 0/cn/index.php?cmd=readpage=Trash%2FTraining-201012%2Flxd%20%E6%A8%A1%E5%9D%97module%2FMixin%E5%A4%9A%E7%BB%A7%E6%89%BF%E4%BD%BF%E7%94%A8%E3%80%81%E6%A8%A1%E5%9D%97%E7%9A%84%E5%9B%9E%E8%B0%83%E3%80%81%E6%96%87%E4%BB%B6%E7%9A%84%E5%BC%95%E7%94%A8requireword=module%20%E4%BD%BF%E7%94%A8 任务 1. 定义module A和module B,在类C中分别用include和extend的方法引入A和B,并调用A和B中的方法 2. 新建两个文件a.rb和b.rb,在b.rb中引入文件a.rb,并调用a.rb中某个类或module的方法 3. block,lambda,proc的使用 株式会社アルファアイティーシステム * 练习 Ruby 基本语法的练习 ?编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。 株式会社アルファアイティーシステム * 前一天内容的复习 每个人的对于昨天内容的回顾 株式会社アルファアイティーシステム * 株式会社アルファアイティーシステム * 代码块的使用和module的定义、使用 代码块的使用 通常用到的块有: block,lambda,proc三种 block的用法 def say yield yield end say{puts(hello world)} #= hello world #= hello world 当方法中遇到yield语句,就转到块里执行,块执行完毕后,将返回到方法体中,继续执行方法y
原创力文档

文档评论(0)