`
qw232144
  • 浏览: 33960 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Ruby中Require、Load、Include和Extend的区别

 
阅读更多

       最近在写一些能够随意引用的包,用到了include,require等饮用方法,在此总结一下Require、Load、Include和Extend的区别。

 

Require:

require方法让你加载一个库,并且只加载一次,如果你多次加载会返回false。只有当你要加载的库位于一个分离的文件中时才有必要使用require。使用时不需要加扩展名,一般放在文件的最前面:

require ‘test_library’

Load:

load用来多次加载一个库,你必须指定扩展名:

 load ‘test_library.rb’

Include:

当你的库加载之后,你可以在你的类定义中包含一个module,让module的实例方法和变量成为类本身的实例方法和类变量,它们mix进来了。根据锄头书,include并不会把module的实例方法拷贝到类中,只是做了引用,包含module的不同类都指向了同一个对象。如果你改变了module的定义,即使你的程序还在运行,所有包含module的类都会改变行为。

   module Log 
       def class_type 
           “This class is of type: #{self.class}” 
       end 
   end 
   class TestClass 
       include Log 
   end 
   tc=TestClass.new.class_type    #=>This class is of type: TestClass

Extend:

extend会把module的实例方法作为类方法加入类中:

   module Log 
       def class_type 
           “This class is of type: #{self.class}” 
       end 
   end 
   class TestClass 
       extend Log 
   end 
   tc=TestClass.class_type       #=>This class is of type: TestClass

 

分享到:
评论

相关推荐

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

    主要介绍了Ruby中require、load、include、extend的区别介绍,require、load用于文件,如.rb等等结尾的文件,include、load则用于包含一个文件中的模块,需要的朋友可以参考下

    include和require的区别

    详细介绍了include和require的区别

    举例讲解Ruby中require的使用方法

    主要介绍了Ruby中require的使用方法,用其来各种引用文件路径,需要的朋友可以参考下

    storyflow#PHPer#include和require的区别1

    include、include_once、require、require_once的区别require和include的区别require 和 include

    Ruby,详细描述require背后的故事

    在Ruby中,`require`和`require_relative`是两种常见的加载方法。`require`默认情况下不会重复加载同一文件,这是通过维护一个已加载文件的列表来实现的。而`require_relative`则是根据当前文件的路径来解析目标文件...

    PHP中include与require使用方法区别详解

    在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区别:(include()是有条件包含函数,而require()...

    PHP中include和require的区别实例分析

    网上太多关于PHP中include与require区别。然而事实真的如此吗,今天我们就通过一个具体的实例来简单分析验证下

    PHP包含文件函数include、include_once、require、require_once区别总结

    include() 、require()语句包含并运行指定文件。这两结构在包含文件上完全一样,唯一的区别是对于错误的处理。require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。

    PHP中include/require/include_once/require_once使用心得

    相信大家在使用PHP时经常看到include a.php、include_once a.php、require a.php或者require_once a.php类似这样的写法吧? 我们一起来学习和总结一下这几个语句的作用及特点! include 使用方法: include "test...

    require(),include(),require_once()和include_once()区别

    1.require()语句 require()语句用于指定的文件代替语句本身,就象C语言中的include()语句一样。如果php配置文件php.ini中的URL fopen wrappers 是打开的(默认情况下是打开的),就可以使用URL来指定文件的位置从而...

    php 中include()与require()的对比

    仅有的一些不同在于: include()执行时文件每次都要进行读取和评估; require()执行时文件只处理一次(实际上,文件内容替换了require()语句)。 即如果有包含这些指令之一的代码和可能执行多次的代码,则使用...

    php include和require的区别深入解析

    include() 产生一个警告而require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用require()。include() 就不是这样,脚本会继续运行。同时也要确认设置了合适的include_path。当一个...

    ruby example webrick

    ruby sample: @echo off cd D:\proj\demo rem previously drop tables call rake db:migrate VERSION=0 rem load test data (it depends on the db:environment and db:migrate tasks) call rake db:load_test_...

    PHP中require和include路径问题详解

    主要介绍了PHP中require和include路径问题详解,十分详细,需要的朋友可以参考下

    PHP中include()与require()的区别说明

    require 的使用方法如 require(“MyRequireFile.php”); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。...他们最根本的区别在

    require(),include(),require_once()和include_once()的异同

    require()和include()有许多相似之处,也有些不同。理解它们的不同点非常重要,否则很容易犯错误。 我把这两个语句放在一起介绍,读者可以比较学习。 1.require()语句 require()语句用于指定的文件代替语句本身,...

    unite-ruby-require.vim:用于搜索需要的 gem 的 unite.vim 源

    这个 Vim 插件是一个源代码,用于在 Ruby 中搜索require路径。 这个插件会搜索 Ruby 标准库路径、gem 的默认路径和 bundler 的本地路径。 一切都是异步完成的,它也会缓存。 用法 :Unite ruby /require 如果你有很...

Global site tag (gtag.js) - Google Analytics