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

转载于:https://www.cnblogs.com/znsongshu/p/6658213.html

ruby require相关推荐

  1. ruby require的使用

    引用单个文件 例: 引用当前rb同目录下的file_to_require.rb 先介绍3种方法 require File.join(__FILE__, '../file_to_require') re ...

  2. IIS7 上配置运行 Ruby CGI环境

    在IIS 站点上 "处理程序映射"点击"添加脚本映射.." 请求路径:*.rb 可执行文件:C:\Ruby22\bin\ruby.exe %s %s 名称:ru ...

  3. ruby和python简单对比

    先说说题外话,以前很少写blog,最开始有整理过技术文章到QQ空间,后面整理到WORD以及文本里.再后来网上查找资料的之后发现cnblog上面的蛮专业的.我也觉得把资料存放在网络中永远不会丢.所以就出 ...

  4. ruby连接mysql

    为什么80%的码农都做不了架构师?>>>    <!-- lang: ruby --> require "mysql"conn = Mysql.rea ...

  5. Ruby批量下载音乐

    下载VOA英语网站的相关内容,脚本如下 要用到 Nokogiri 库.此库相关使用介绍 #!/usr/bin/ruby require 'open-uri' require 'nokogiri' ww ...

  6. Ruby Shanghai 2014年终聚会总结

    准备 本次活动获得了薄荷的大力支持,在他们新的高大上的办公室.同时要一并感谢本次活动的多家赞助单位 微客来在紧急关头支持了投影设备,解决了最后的难题. 我提前来到会场,和GitCafe的Kumalee ...

  7. Ruby和SHELL中如何遍历指定目录的文件

    在工作中我们有在Ruby和SHELL中如何遍历指定目录的文件的需求,这个应该如何来实现呢?网上的方法也非常之多,我们可以拿来参考参考,如下边的traverse.rb文件内容所示: #!/usr/bin ...

  8. Ruby 学习笔记(和 Python3 语法进行对比)

    我是先接触 Python3 的,如果我自己主动来选择,可能不会再去学 Ruby(可能先入为主的思想太根深蒂固了,不过最主要的还是太懒了),然鹅由于种种原因,我还是要来看一下Ruby(真是天理难容,/大 ...

  9. Ruby语言基础学习六:Ruby模块、引用其他程序、Mixins

    新建一个trig.rb程序并写入: #-*-coding:UTF-8 -*-#Ruby模块Module # 模块提供了一个命名空间和避免名字冲突.模块实现了 mixin 装置. module Trig ...

最新文章

  1. msbuild FileSysExcludeFiles
  2. centos7安装Samba服务
  3. java 合并 set_【Java必修课】各种集合类的合并(数组、List、Set、Map)
  4. 5.1.8 缓冲区管理
  5. nfs+inotify
  6. 前端那些年----Webstream快捷键备忘(mac)
  7. 2016年Web前端面试题
  8. Python数据库连接池DBUtils
  9. [你必须知道的异步编程]——异步编程模型(APM)
  10. Android ContentProvider实现两个程序间数据共享demo,跨进程通讯
  11. ajax success function_【java 基础】java-回调函数(结合jquery.ajax)
  12. mysql global locks_mysql8 参考手册--NDB群集线程状态
  13. 25则“验尸报告”— 创业失败者启示录(下)
  14. android启动之子系统切换
  15. 2019年计算机操作系统考研真题
  16. Allegro中Change铜皮至其他层
  17. int? 是什么类型?和int有何区别
  18. java Swing 背景音效的添加
  19. ArcMap常用1:地理配准(一张地图图片和gis地图的匹配)
  20. 地铁照明中的智能照明控制系统

热门文章

  1. 豪情-2014年年终总结
  2. 配置 IIS 7 显示详细错误信息
  3. nginx开启支持websocket连接
  4. apipost 如何分享多个接口
  5. Selenium 屏幕截图
  6. matlab 限幅,限幅是什么意思
  7. stats | 线性回归(二)——模型假设和模型估计
  8. python sklearn svm 权重_sklearn svm基本使用
  9. java request获取域,Java Web - Servlet(13)HttpServletRequest详解(获取请求数据、请求分派、请求域)(二)...
  10. 9个项目助你在2020年成为前端大师!