易截截图软件、单文件、免安装、纯绿色、仅160KB

Ruby学习笔记四——模块


#一、模块定义及引用,模块就是一段代码,里面有一些方法放一起。
#定义模块用module...end 。模块与类非常相似,但是:
#A) 模块不可以有实例对象;
#B) 模块不可以有子类。
include Math
puts sqrt(91);
module Me
  def sqrt(a)
  puts a*a;
  return a*a;
end
PI=3.1415926
end
include Me
puts sqrt(10)
puts Math.sqrt(10);
puts Math::PI;
puts Me::PI;#变量引用与方法调用不同,用双冒号,而不是点号
#二、可变参数
def params(*num)
"This is text sqrt. "
puts num.size
puts num[1]
puts num.inspect
end
params(4,2,3)
#三、模块的第三个作用,实现类似于多重继承的功能,也称Mix-in
#我们有一个Student类,有着Person类的属性和方法,还会做数学题——求平方根。已经有了Me模块,只要Mix-in 在Student类里就可以了。
module Me
  def sqrt(num, rx=1, e=1e-10)
    num*=1.0
    (num - rx*rx).abs <e ? rx : sqrt(num, (num/rx + rx)/2, e)
  end
end
class Person
  def talk
    puts "I'm talking."
  end
end
class Student < Person
  include Me
end
aStudent=Student.new
aStudent.talk # I'm talking.
puts aStudent.sqrt(20.7,3.3) # 4.54972526643248
#通过“ < 父类名 ” ,一个子类可以得到父类的属性和方法;通过“ include模块名 ” ,一个子类可以得到某个模块的常量和方法。类不能被 include 。
#四、extend,混型的另一种情况
module Me
  def sqrt(num, rx=1, e=1e-10)
    num*=1.0
    (num - rx*rx).abs <e ? rx : sqrt(num, (num/rx + rx)/2, e)
  end
end
class Student
end
aStudent=Student.new
aStudent.extend(Me)
puts aStudent.sqrt(93.1, 25) # 9.64883412646315
#include 方法为一个类的所有对象包含某个模块; extend 方法为一个类的某个对象包含某个模块。
#五、require和load
#require,load用于包含文件;include,extend则用于包含模块。
#require加载文件一次,load加载文件多次。
#require加载文件时可以不加后缀名,load加载文件时必须加后缀名。
#require一般情况下用于加载库文件,而load用


相关文档:

自动化测试之路(一) ruby初探

从今天起不再浪费时间,开始走向自动化测试这条光明的道路,并以搭建一个自动化测试平台为目标,并这个过程一点点的记录下来和大家分享
首先,是ruby环境的搭建
(1)到ruby的官网:http://www.ruby-lang.org/en/下载 ruby安装程序;
      PS :选择 ruby on windows,我下载的是Ruby 1.8.6 One ......

linux(ubuntu)下ruby开发环境搭建

env setup
linux(ubuntu)下ruby开发环境搭建,包括一些常见问题解决
注意,本文只是我在搭建ruby学习环境时的一些笔记,因为是用gedit编辑的,所以格式化不是很好,另外,只是备忘而已。
2010.1.19
1. install ruby
$ tar xzf ruby-1.8.7-p248.tar.gz
$ mv ruby-1.8.7-p248 ruby187
$ cd ruby187/
$ ./configure ......

Ruby 一步步安装


http://www.gayathri-frenzy.com/technology/ruby-on-rails
I kept thinking for a while on what do I have next in the store
Here we go “Ruby on Rails”
Ruby on Rails, often shortened to Rails or RoR, is an open source web application framework for the Ruby Programming language.Ruby is a ......

win环境下本地安装ruby on rails

文章转自 http://www.ej38.com/showinfo/Ruby-140367.html 
过程如下:
1、ruby下载一键安装:
http://rubyforge.org/frs/download.php/29263/ruby186-26.exe
ruby -v 显示版本,安装成功
2、下载rubygems安装:
http://rubyforge.org/frs/download.php/60719/rubygems-1.3.5.zip
解压,ruby setup.rb
g ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号