A.
require 'filename'
include ModuleName
B.
include用于包含一个文件(.rb等结尾的文件)中的模块
require一般情况下用于加载库文件
C.
requre,load用于文件,如.rb等等结尾的文件。
include则用于包含一个文件(.rb等结尾的文件)中的模块。
requre一般情况下用于加载库文件,而load则用于加载配置文件。
requre加载一次,load可加载多次
D.
如果说 test_one.rb 中包含一个模块MyModule,和几个类Ca,Cb等等。那么你若想在 test_two.rb 文件中使用
test_one.rb 中的资源,你得这样:
require 'test_one.rb'
若还想在 test_two.rb 的某个类中使用 test_one.rb中的模块,则应在这个类中加入
include MyModule
如果你只想在 test_two.rb 文件的某个类中使用 'test_one.rb' 的模块,你得这样:
require './test_one'
include MyModule
例子:
test_one.rb
module MyModule
def my_print
p "hello this a test."
end
end
test_two.rb
require './test_one'
include MyModule
class TestTwo
#include MyModule
def to_print
my_print
end
end
t = TestTwo.new
t.to_print()
1.3.5 模块
方法
|
说明
|
include ‘watir’
|
将模块的功能添加到当前空间中,不加载已加载的文件
|
extend ‘watir’
|
将模块的函数添加到对象中
|
load ‘watir’
|
读取文件,并将其插入到源文件的当前位置,以便从这个位置开始就可以使用其定义
|
http://www.blogjava.net/xxllnnn/archive/2009/01/18/251762.html
分享到:
相关推荐
### 动态加载的艺术:深入理解 Ruby 中 `require` 与 `load` 的区别 #### 引言 在 Ruby 编程中,模块化和代码重用是非常重要的实践。为了实现这一目标,Ruby 提供了两种不同的方法来加载外部文件和库:`require` ...
当在Ruby程序中使用`require`时,它会引入指定的文件或库,从而使开发者可以访问其中定义的类、方法和变量。`require`背后的机制涉及到了Ruby的加载路径(`$LOAD_PATH`),这是一个Ruby用来搜索文件或库的目录列表。 ...
假设有两个文件`foo.rb`和`bar.rb`位于同一个目录`/usr/local/ruby/`下,直接在`foo.rb`中使用`require 'bar'`会因为Ruby默认的查找机制而失败,因为它会在`ruby`安装的`lib`目录和用户目录下查找`bar.rb`文件。...
Ruby 是一种动态、开源的编程语言,以其简洁和表达力强的特点受到开发者的喜爱。在IT行业中,数据库连接是常见的任务,无论是在Web应用开发还是数据处理中。Ruby 提供了多种方式来连接不同的数据库系统,如 MySQL、...
然而,`require_once` 的行为与 `require` 类似,但有一个关键的不同之处:它会检查目标文件是否已经被引入过。如果已经引入过,`require_once` 就不会再次引入,从而避免了重复执行相同代码的问题。这在处理类定义...
3. 语法差异:Ruby 1.8.5 的语法与更新的版本有所区别,例如 `require_relative` 在这个版本中不存在,要用 `require File.dirname(__FILE__) + '/../file'` 替代。 4. 性能:与现代版本相比,1.8.5 的运行速度较慢...
Ruby是一种面向对象的脚本语言,它以其简洁的语法和强大的功能受到许多开发者的喜爱。在编程中,访问系统剪贴板是常见的需求,比如复制和粘贴文本、图像等数据。Ruby提供了一个名为`Clipboard`的库,使得在不同操作...
Node.js 中导入模块 require 和 import 的区别 Node.js 中的模块化编程是基于 CommonJS 规范的,而在 ES6 中,则是基于 ES6 模块标准的。在 Node.js 中,我们使用 require 函数来导入模块,而在 ES6 中,我们使用 ...
Ruby 和 Redis 接口是开发过程中非常重要的工具,它们允许Ruby程序员充分利用Redis的高效数据存储和处理能力。Redis是一款开源的、基于键值对的数据结构存储系统,它以内存为运行基础,支持多种数据结构,如字符串、...
Ruby提供了多种测试工具,如MiniTest、RSpec和Cucumber等,它们各自有其特点和适用场景。 MiniTest是Ruby标准库的一部分,它包含了一个全面的测试套件,支持单元测试、集成测试以及性能测试。编写MiniTest的测试...
Ruby是一种强大的动态编程语言,以其简洁的语法和灵活性而闻名。在处理大量数据或执行耗时操作时,利用多核处理器的并行处理能力成为提高效率的关键。"Parallel Ruby"库正是为此目的而设计,它使得在Ruby中实现并行...
总的来说,Ruby-qtbindings为Ruby开发者提供了一种高效、直观的方式来构建图形界面应用,结合Ruby的灵活性和QT的丰富功能,可以创造出既有美观界面又具有高性能的应用程序。如果你是Ruby爱好者并且对GUI开发感兴趣,...
Ruby是一种强大的动态编程语言,广泛应用于Web开发和脚本编写。在处理数据交换格式时,JSON(JavaScript Object Notation)是常见的选择,因为其简洁、易读且被大多数编程语言支持。Ruby内置了对JSON的支持,通过...
这里创建了一个带有文本“Hello, Ruby/tk!”的标签,并使用`pack`方法将其添加到根窗口中。 #### 总结 本文档通过一个简单的“Hello, World!”示例介绍了Ruby/tk的基本用法。Ruby/tk作为一种强大的GUI开发工具,...
Ruby-Async是一个强大的框架,它利用了nio4r库和定时器来实现高效的异步输入/输出(I/O)操作。在Ruby世界中,异步编程可以帮助开发者编写出并发性能更好的应用,尤其在处理大量I/O密集型任务时,如网络通信、文件...
为了使用Ruby-DingTalkBot,首先需要在项目中引入库(通过Gemfile或直接添加require语句),然后初始化一个DingTalkBot实例,配置好Webhook和token,之后就可以调用发送消息的方法来与钉钉进行交互。例如: ```ruby...
RubyGraphViz是Ruby编程语言与GraphViz图形渲染库之间的接口,允许开发者在Ruby程序中生成复杂的图形和图表。GraphViz是一个强大的开源图形绘制软件,它能够自动生成有向无环图(DAG)、树状图、网络图等多种类型的...
Ruby是一种面向对象的、动态类型的编程语言,以其简洁和优雅的语法著称。在Web开发领域,Ruby常常与Rails框架一起使用,构建高效且可维护的Web应用。Redis则是一款高性能的键值存储数据库,常用于缓存、消息队列、...
在PHP编程语言中,`include`和`require`都是用于导入其他PHP文件的函数,以在当前脚本中使用它们的代码、变量和函数。它们的主要目的是为了代码重用和组织,但它们之间存在一些关键差异,这些差异主要体现在错误处理...