程序 E7.3-1.rb中先写了Me模块,然后include Me模块,实现了Mix-in功能,但是,这样没能做到代码复用。
我将 Me模块写在文件 E7.4-1.rb中,将 Person类写在文件 E7.4-2.rb中,这时候 Student类如何使用 Me模块和 Person类呢?这里要用到require方法。
看程序 E7.4-3.rb :
ruby 代码
-
- require "E7.4-1"
- require "E7.4-2"
-
- class Student < Person
- include Me
- end
-
- aStudent=Student.new
- aStudent.talk
- puts aStudent.sqrt(77,2)
使用 require方法让你的程序文件变得简洁有力。 require方法包含另一个文件,另一个文件名需要是一个字符串。
还有一个 load 方法与require 方法相对应,也用来包含另一个文件。
看程序 E7.4-4.rb :
ruby 代码
-
- load "E7.4-1.rb"
-
- class Student
- end
-
- aStudent=Student.new
- aStudent.extend(Me)
- puts aStudent.sqrt(100.1, 12)
require包含文件,只加载一次,遇到同一文件时自动忽略;不同路径下的同名文件会多次加载。 load包含文件,加载多次,即使是相同路径下同一文件。
总结一下:
require,load用于包含文件;include,extend则用于包含模块。
require加载文件一次,load加载文件多次。
require加载文件时可以不加后缀名,load加载文件时必须加后缀名。
require一般情况下用于加载库文件,而load用于加载配置文件。
利用load 多次加载文件的特性,可以用来实现程序的无缝升级和系统的热部署。程序功能改变了,你只需要重新load 一次,其它代码与它再次交互的时候,这个程序实际上已经不是原来的程序了。
完整阅读,请看我写的 Ruby语言中文教程all in one
分享到:
相关推荐
controllers/Main.phpLine Number: 2Backtrace:File: C:\xampp8\htdocs\html\application\controllers\Main.phpLine: 2Function: sg_loadFile: C:\xampp8\htdocs\html\index.phpLine: 315Function: require_once
PHP 7.4引入了许多性能优化和语法改进,尽管PHPExcel没有明确声明对PHP 7.4的支持,但经过社区的努力,大部分功能已经可以在PHP 7.4上正常运行。然而,需要注意的是,由于PHP 7.4对一些过时函数的移除,可能需要更新...
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName); // 获取第一个工作表 $worksheet = $objPHPExcel->getActiveSheet(); // 读取A1单元格 $a1CellValue = $worksheet->getCell('A1')->getValue(); // ...
它支持多种Excel文件格式,包括旧版的BIFF(Binary Interchange File Format)格式(如XLS)和较新的OOXML(Office Open XML)格式(如XLSX)。这使得开发者能够处理不同版本的Excel文件,无论是在读取还是写入数据...
如果你使用Composer管理依赖,可以在终端中运行`composer require phpoffice/phpexcel`。然后,通过`require_once 'vendor/autoload.php';`引入自动加载文件,以便在代码中使用PHPExcel类库。 2. **创建新工作簿** ...
require_once 'path/to/dompdf/autoload.inc.php'; use Dompdf\Dompdf; $html = '<h1>Hello, World!</h1>'; $dompdf = new Dompdf(); $dompdf->loadHtml($html); $dompdf->setPaper('A4', 'portrait'); $dompdf->...
composer require phpoffice/phpexcel ``` 安装完成后,你可以在项目中引入这个库,通过`use`语句引用所需的类: ```php use PHPExcel; use PHPExcel_IOFactory; ``` 接着,我们来看如何读取和写入Excel文件。...
5.2 使用require()和include()函数 5.2.1 文件扩展名和require()语句 5.2.2 使用require()制作Web站点的模版 5.2.3 使用auto_prepend_file和auto_append_file 5.3 在PHP中使用函数 5.3.1 调用函数 5.3.2 调用...
§8.4 Require, load和include 62 第九章 异常 64 §9.1 异常处理 64 §9.2 定义异常类 68 §9.3 catch和throw 68 第十章 多任务处理 69 §10.1 多线程处理 69 §10.1.1 线程创建 69 §10.1.2 线程操作 70 §10.1.3 ...
5.2 使用require()和include()函数 5.2.1 文件扩展名和require()语句 5.2.2 使用require()制作Web站点的模版 5.2.3 使用auto_prepend_file和auto_append_file 5.3 在PHP中使用函数 5.3.1 调用函数 5.3.2 调用未定义...
5.2 使用require()和include()函数 5.2.1 文件扩展名和require()语句 5.2.2 使用require()制作Web站点的模版 5.2.3 使用auto_prepend_file和auto_append_file 5.3 在PHP中使用函数 5.3.1 调用函数 5.3.2 调用...
**8.4 Require, load和include** `require`和`load`用于加载外部文件,`include`用于将模块混合到类中。 ```ruby require 'my_module' ``` #### 九、异常 **9.1 异常处理** Ruby使用`begin...rescue...end`块来...
**8.4 Require, load和include** - `require`:加载Ruby文件。 - `load`:加载Ruby文件,但不会检查是否已经加载过。 - `include`:用于引入模块。 #### 九、异常 **9.1 异常处理** 异常处理机制可以帮助程序在...
**8.4 Require, load和include** - **require/load:** 用于加载外部的Ruby文件。 - **include:** 用于将一个模块混合到当前类中。 #### 九、异常 **9.1 异常处理** Ruby提供了try/catch风格的异常处理机制。 ...
**8.4 Require, load和include** - `require`用于加载外部的Ruby文件。 - `load`用于动态加载文件,常用于脚本环境。 - `include`用于将模块包含进类中。 #### 九、异常 **9.1 异常处理** - 使用`begin...rescue...
7.4 权限 77 7.4.1 文件和目录创建参数 79 7.4.2 一些例子 80 7.5 特殊文件服务 82 7.6 文件名称处理和修正 82 7.6.1 mangled names 84 7.6.2 mangle case 84 7.6.3 mangling char 84 7.6.4 case sensitive 84 7.6.5...
"require" : { "mervick/yii2-image" : "~1.0" } 在该执行php composer.phar update 用法 简单的 $ driver = \mervick\image\drivers\ GD :: classname (); // or `\mervick\image\drivers\Imagick::classname...
**8.4 Require, load和include** `require`和`load`用于加载其他Ruby文件,`include`用于将模块混入到类中。 #### 八、异常 **9.1 异常处理** Ruby使用`begin...rescue...end`结构来捕获和处理异常: ```ruby ...
**8.4 Require, load和include** - `require`:加载并执行指定文件。 - `load`:加载文件,不会缓存。 - `include`:将模块混入到类中。 #### 九、异常 **9.1 异常处理** 可以使用`begin...rescue...ensure......