require一般用来加载其它的类,如: 
#Ruby代码  :
require 'dbi'  
require "rexml/document"
但是上面加载的是标准类库里面的文件,当然也可以是已安装的gems文件,
但是如果是自己在本地写的文件,就不能直接用require了,
而应该这样:
#E7.4-1.rb Module(模块)
module Module1
  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
#E7.4-2.rb Person 类
class Person
  def talk
    puts "I'm talking."
  end
end
#用require_relative加载本地Ruby文件
require_relative "E7.4-1"  这里是相对路径
require_relative "E7.4-2" 

class Student < Person
  include Module1
end

aStudent=Student.new
aStudent.talk # I'm talking.
puts aStudent.sqrt(77,2) # 8.77496438739435
#但是这个如果想直接通过require的方式来引用也是有办法的,那就是在文件头部将当前目录作为ruby加载的路径:
#其中File.dirname(__FILE__)代表当前路径,而$LOAD_PATH.unshift方法的目的就是将当前目录作用ruby标准的加载路径
$LOAD_PATH.unshift(File.dirname(__FILE__)) unless $LOAD_PATH.include?(File.dirname(__FILE__))  
require "E7.4-1" 
require "E7.4-2" 

class Student < Person
  include Module1
end

aStudent=Student.new
aStudent.talk # I'm talking.
puts aStudent.sqrt(77,2) # 8.77496438739435

最新文章

  1. exynos4412中断编程
  2. gbk和gb2312的区别
  3. iOS 单元测试之XCTest详解(一)
  4. LoadRunner参数化之数据生成方式
  5. C# 字符串详细使用
  6. Android加速度传感器实现“摇一摇”,带手机振动
  7. 子树大小平衡树(Size Balanced Tree,SBT)操作模板及杂谈
  8. asp.net能不托管吗?
  9. 如何启动Service,如何停用Service(转)
  10. DataSet,DataTable,XML格式互转
  11. chkconfig命令(管理开机自启)
  12. Oracle ROWID具体解释
  13. JDK环境部署
  14. Python VisibleDeprecationWarning: converting an array with ndim &gt; 0 to an index will result in an error in the future
  15. pandas Series的sort_values()方法
  16. NPOI 导入Excel和读取Excel
  17. PHP的网站主要攻击方式有哪些?
  18. OpenStack安装部署(二)
  19. 深入浅出Cache
  20. 《Think Python》第17章学习笔记

热门文章

  1. BZOJ 1113 Wall ——计算几何
  2. TeraTerm下载
  3. COdevs 2823 锁妖塔
  4. form表单提交file
  5. spring-Ioc容器与bean
  6. 用CSS3变形创建半圆形导航
  7. API调用开发demo
  8. delphi函数大全
  9. 12/10 C语言程序设计竞赛 后五题
  10. 春哥的nginx systemtap调试脚本简单介绍