`

require,include,load,extend的用途和区别

阅读更多

这四个方法还是很好玩很有用,也是比较容易混的。 

 

 

 1.require( aString ) -> true or false

 

   Ruby试图载入一个名为aString的库,如果成功了就返回true,否则返回false。如果给定的值不是一个绝对路径,那么将会在$:中查找。如果给定的名字带有.rb,则作为源文件载入;如果扩展名为.so,.o,.dll等(根据不同平台),Ruby将这些作为扩展程序来载入;否则,Ruby会自动尝试在给定的文件名后面加.rb,.so,.dll等。已经载入的库会放到数组$"中,已经在$"里的则不会被重复装载。比如:

 

 

 

require "my-library.rb"

 

require "db-driver"

 

 

 

 

 

2.load( aFileName, wrap=false ) -> true

 

 

 

装载并执行aFileName文件,文件搜索方法同上面的require。wrap是可选参数,默认为false,如果设为true,则这个文件将在匿名模块下运行,从而包括调用者的名字空间。任何aFileName里面的局部变量在装载它的环境下是不可用的。

 

 

 

3.include

 

include主要用来将一个模块插入(mix)到一个类或者其它模块。这个模块的方法在引入它的类或模块中以函数的形式调用(没有一个receiver)。这个指令运行时会执行Module.append_features方法。

 

 

 

 

 

4.extend

 

extend 用来在一个对象(object,或者说是instance)中引入一个模块,这个类从而也具备了这个模块的方法。

 

 

 

module Mod

 

  def hello2

 

    "Hello from Mod.n"

 

  end

 

end

 

 

 

class Klass

 

  def hello

 

    "Hello from Klass.n"

 

  end

 

end

 

 

 

k = Klass.new

 

k.hello   #"Hello from Klass.n"

 

k.hello2  # NoMethodError: undefined method `hello2' …

 

k.extend(Mod)   #<0x2e4c530>

 

k.hello  #"Hello from Mod.n"

分享到:
评论

相关推荐

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

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

    include和require的区别

    详细介绍了include和require的区别

    storyflow#PHPer#include和require的区别1

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

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

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

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

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

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

    有一点就是使用require()和include()语句时要特别的注意。那就是在被包含的文件中,处理器是按照html模式来解释其中的内容的,处理完被包含的内容后又恢复到php模式。所以如果需要在被包含文件中使用php语法,就要...

    php include和require的区别深入解析

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

    extend:使一个类(构造函数)从另一类继承

    用法 成分 var extend = require ( "extend" ) ;... o var extend = require ( "gamtiq/extend" ) ;... 节点 var extend = require ( "./path/to/dist/extend.js" ) ;... 果酱 require ( [ "extend" ] , functio

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

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

    php include,include_once,require,require_once

    现在来说include和require的区别: require()函数包含进来的内容被当成当前文件的一个组成部分,所以当包含进来的文件有语法错误或者文件不存在的时候,那当前文件的PHP脚本都不再执行. include()函数相当于指定这个...

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

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

    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...

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

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

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

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

    深入理解require与require_once与include以及include_once的区别

    本篇文章是对require与require_once与include以及include_once的区别进行了详细的分析介绍,需要的朋友参考下

    php使用include 和require引入文件的区别

    require()语句的性能与include()相类似,都是包括并运行...不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。

Global site tag (gtag.js) - Google Analytics