• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > Ruby中require、load、include、extend的区别介绍

Ruby中require、load、include、extend的区别介绍

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了ruby require include,ruby require,ruby include,require once include,include require区别等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

require,load用于文件,如.rb等等结尾的文件。include,load则用于包含一个文件中的模块。
require 一般情况下用于加载库文件,而load则用于加载配置文件。

1、require:加载一个库,并且只加载一次,如果多次加载会返回false。只有当要加载的库位于一个分离的文件中时才有必要使用require。使用时不需要加扩展名,一般放在文件的最前面:
require ‘test_library'
</div>
2、load:
load用来多次加载一个库,必须指定扩展名:
load ‘test_library.rb'
</div>
3、extend:在定义类时使用,把module的实例方法作为当前类的类方法.
module Test
 def class_type
  "This class is of type:#{self.class}"
 end
end

class TestClass
 extend Test
end

puts TestClass.class_type  #=>  This class is of type:Class
</div>
4、include:在定义类时使用,把module的实例方法作为当前类的实例方法. 把module的变量作为当前类的类变量.
include并不会把module的实例方法拷贝到类中,只是做了引用,包含module的不同类都指向了同一个对象。如果你改变了module的定义,即使你的程序还在运行,所有包含module的类都会改变行为。
module Test
 @a = 1
 def class_type
  "This class is of type:#{self.class}"
 end
end

class TestClass
 include Test
end

# puts TestClass.class_type  #=> undefined method `class_type' for TestClass:Class (NoMethodError)

puts TestClass.new.class_type  #=> This class is of type:TestClass
</div>

</div>

您可能想查找下面的文章:

  • 举例讲解Ruby中require的使用方法
  • Ruby中require、load、include、extend的区别介绍

相关文章

  • Ruby面向对象编程中类与方法的基础学习
  • Ruby实现发送邮件的两个方法
  • ruby 学习笔记(1) 初识语法
  • 初步讲解Ruby编程中的多线程
  • Ruby中的p和puts的使用区别浅析
  • ruby实现github第三方认证
  • Ruby实现生产者和消费者代码分享
  • 升级到mac 10.10之后使用pod出现问题的解决方法
  • 利用Ruby的SOAP4R编写SOAP服务器的教程
  • Ruby程序中创建和解析XML文件的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 详解Ruby中的方法概念
    • Ruby中的Range对象学习笔记
    • Ruby的面向对象方式编程学习杂记
    • 实例讲解Ruby中的五种变量
    • 实例解析Ruby中的数值类型以及常量
    • Ruby on Rails迁移时的一些注意事项
    • 使用Ruby实现简单的事物驱动的web应用的教程
    • 详细解读Ruby当中的条件判断语句
    • 使用C++来编写Ruby程序扩展的教程
    • ruby 数组使用教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有