区别Ruby的require,load,和include

三者之间区别并不像你想的那么难,也不会像有些文章写的那么长。挺简单的。

相同之处:三者均在kernel中定义的,均含有包含进某物之意。

不同之处:

1、requre,load用于文件,如.rb等等结尾的文件。

2、include则用于包含一个文件(.rb等结尾的文件)中的模块。

3、requre一般情况下用于加载库文件,而load则用于加载配置文件。

4、requre加载一次,load可加载多次。

怎么样,简单吧!再看个例子。

如果说abc.rb中包含一个模块Ma,和几个类Ca,Cb等等。那么你若想在ef.rb文件中使用abc.rb中的资源,你得这样:

require 'abc.rb'

若还想在ef.rb的某个类中使用abc.rb中的模块,则应在这个类中加入

include Ma

如果你只想在ef.rb文件的某个类中使用abc.rb的模块,你得这样:

require 'abc.rb'

include Ma

这两句就告诉了你它们区别。

下面部分摘自于:http://anw.stikipad.com/ocean/show/require+load+and+include

Ruby 中 “require”, “load” 和 “include” 有甚麼不同呢? “require” 和 “load” 用途是一致的, 用來載入新的程式庫, “include” 是用來 mix-in 模組.

  • “require” 可載入某個 a.rb 檔案, 且可以省略 ”.rb”. 而且它只會在第一次的時候載入, 若再次 “require” 時就會忽略

    
    require 'a'a = A.new
    
  • “load” 和 “require” 一樣但要用 a.rb 全名, 且每次一定會重新載入
    
    load 'a.rb'a = A.new
    
  • 載入程式庫的順序呢(類似 java class path)? Ruby 把這個資訊存在 ”$:” 系統全域變數上, 你可以藉著 RUBYLIB 或 ruby -I 來加入新的載入目錄.
    
    puts $:
    
  • “include” 用來 mix-in 某個模組, 可以減少書寫的長度
    
    require 'webrick'
    include WEBrick//可以不用 server = WEBrick::HTTPServer.new(...)
    server = HTTPServer.new(...)

转自:http://my4java.itpub.net/post/9983/65781

转载于:https://www.cnblogs.com/itmangelihai/archive/2013/03/08/2949766.html

区别Ruby的require,load,和include相关推荐

  1. Ruby中require,load,和include的区别

    很简单 1.requre,load用于文件,如.rb等等结尾的文件. 2.include则用于包含一个文件(.rb等结尾的文件)中的模块. 3.requre一般情况下用于加载库文件,而load则用于加 ...

  2. ruby include require load extend 的区别

    ruby include require load extend 的区别 -–require/load-- 在功能上require和load都是用来导入文件的. 区别如下: require 用来加载库 ...

  3. #pragma once与 #ifndef的区别为了避免同一个文件被include多次

    #pragma once与 #ifndef的区别为了避免同一个文件被include多次 1   #ifndef方式 2   #pragma once方式 在能够支持这两种方式的编译器上,二者并没有太大 ...

  4. php中的require(),PHP中include()与require()的区别说明

    require的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require ...

  5. ruby的require, 和in clude有什么区别

    A. require 'filename' include ModuleName B. include用于包含一个文件(.rb等结尾的文件)中的模块 require一般情况下用于加载库文件 C. re ...

  6. html load方法的区别,jQuery  中的.load()、$get()、$,post()用法和区别

    .load()方法是局部方法,因为他需要一个包含元素的jQuery 对象作为前缀.而$.get()和$.post()是全局方法,无须指定某个元素.对于用途而言,.load()适合做静态文件的异步获取, ...

  7. php if require,php echo()和print()、require()和include()函数区别说明

    简单总结echo()和print().require()和include()等易混淆函数的区别 1.echo和print的区别 PHP中echo和print的功能基本相同(输出),但是两者之间还是有细 ...

  8. include,require,include_once,require_once区别

    include和require的作用是相同的,唯一的不同是PHP在遇到include命令的时候必须重新解释一次.如果在同一个PHP页面中出现10此include命令,它便会重新解释10次.不过当PHP ...

  9. PHP包含文件函数include、include_once、require、require_once区别

    PHP的4个文件包含函数区别 include.include_once.require.require_once include() .require()语句包含并运行指定文件. 结构包含上基本一样, ...

最新文章

  1. GBDT算法原理及附有源码实现的 转
  2. 构建工具Gradle
  3. 屏幕边框闪光_写给想入手21:9的屏幕党,明基 EX3501R 真香跳坑指南
  4. Javascript对象的查询字符串编码
  5. pythonset操作教程_Python集合(set)方式和使用方法
  6. 智能指针 shared_ptr 解析
  7. 并发编程之多进程3 (生产者与消费者模型) 回调函数
  8. LeetCode 1802. 有界数组中指定下标处的最大值(思维题)
  9. 阿里云更新ESC镜像
  10. MySQL数据库的安装及环境配置
  11. Android 系统(236)---了解 64 位版本
  12. sql 统计节点和子节点下面的数量_一次900万+数据量的 SQL 查询优化分析「上百倍性能优化」...
  13. clickhouse 新增列_Clickhouse入门
  14. python计算器界面设计_Python 计算器界面设计
  15. STC15单片机-低功耗设计
  16. PhotoShop 橡皮擦工具组、渐变工具
  17. 计算机excel保留一位小数,excel表格数据取一位小数-excel保留一位小数
  18. 18.Excel vba开发-计算个人所得税
  19. Java学习笔记——Character类
  20. Bert系列:论文阅读Learning-to-rank with bert in tf-ranking

热门文章

  1. 基于php的成绩管理设计(含源文件)
  2. C++笔记-C++11中default及delete的使用
  3. Java笔记-JDK搭建WebService客户端其他调用方法
  4. Qt文档阅读笔记-QWebPage官方解析与实例
  5. Java基础入门笔记-添加包
  6. keil4内嵌汇编_keil C中嵌入汇编程序的方法
  7. android旋转屏幕 简册,[Android][旋转屏幕]
  8. 基本汇编语言学习结构
  9. (王道408考研数据结构)第三章栈和队列-第三节2:栈的应用之递归
  10. Linux系统编程13:进程入门之Linux中的环境变量的概念及其相关命令(export;env等)main函数的参数