这四个方法还是很好玩很有用,也是比较容易混的。
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`和`include`在处理文件不存在或加载失败时的反应不同。当使用`require`尝试引入一个不存在的文件时,PHP会抛出一个致命错误(Fatal Error),并停止脚本的执行。这意味着如果`require`的文件未找到或...
虽然它们在某些情况下可以互换使用,但在行为和用途上却有着明显的不同。了解这些差异可以帮助开发者更有效地组织和管理代码,从而提高程序的可维护性和性能。 #### Ruby 语言特性概述 Ruby 是一种高级、面向对象...
include、include_once、require、require_once的区别require和include的区别require 和 include
在PHP变成中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来,但是二者再用法上有区别:(include()是有条件包含函数,而require()...
首先,`require()`和`include()`函数用于在脚本执行期间包含并运行指定文件的代码。它们之间的主要区别在于它们处理包含文件失败时的错误处理方式。`require()`在遇到无法包含的文件时会产生一个致命错误(fatal ...
所以,了解include和require的区别,并根据实际情况选择合适的文件包含方式,是保证代码质量的重要因素。在实际开发过程中,选择require还是include应该基于项目需求和错误处理策略。如果文件不存在将会导致严重错误...
include() 、require()语句包含并运行指定文件。这两结构在包含文件上完全一样,唯一的区别是对于错误的处理。require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。
首先,我们来解释一下include和include_once的区别。include语句用于在当前文件的执行过程中包含并运行指定的文件。如果被包含的文件不存在或者因为某些原因包含失败,那么include语句会产生一个警告,但是它并不会...
include() 产生一个警告而require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用require()。include() 就不是这样,脚本会继续运行。同时也要确认设置了合适的include_path。当一个...
在PHP编程中,`require`、`require_once`、`include`和`include_once`都是用于引入其他PHP文件的关键函数,它们有助于实现代码重用和模块化编程。这些函数之间的主要区别在于它们处理重复导入的方式。 1. `require...
`require_once()` 和 `include_once()` 分别是 `require()` 和 `include()` 的变体,它们的区别在于,这两个函数会检查文件是否已经被包含过。如果文件已经被包含,那么它们就不会再次执行包含操作。这是防止重复...
用法 成分 var extend = require ( "extend" ) ;... o var extend = require ( "gamtiq/extend" ) ;... 节点 var extend = require ( "./path/to/dist/extend.js" ) ;... 果酱 require ( [ "extend" ] , functio
相信大家在使用PHP时经常看到include a.php、include_once a.php、require a.php或者require_once a.php类似这样的写法吧? 我们一起来学习和总结一下这几个语句的作用及特点! include 使用方法: include "test...
仅有的一些不同在于: include()执行时文件每次都要进行读取和评估; require()执行时文件只处理一次(实际上,文件内容替换了require()语句)。 即如果有包含这些指令之一的代码和可能执行多次的代码,则使用...