ruby require
|
require一般用来加载其它的类,如:
#Ruby代码 : require 'dbi' require "rexml/document" 但是上面加载的是标准类库里面的文件,当然也可以是已安装的gems文件,
但是如果是自己在本地写的文件,就不能直接用require了,
而应该这样:
#E7.4-1.rb Module(模块) module Module1 def sqrt(num, rx=1, e=1e-10) num*=1.0 (num - rx*rx).abs <e ? rx : sqrt(num, (num/rx + rx)/2, e) end end #E7.4-2.rb Person 类 class Person def talk puts "I'm talking." end end #用require_relative加载本地Ruby文件 require_relative "E7.4-1" 这里是相对路径 require_relative "E7.4-2" class Student < Person include Module1 end aStudent=Student.new aStudent.talk # I'm talking. puts aStudent.sqrt(77,2) # 8.77496438739435 #但是这个如果想直接通过require的方式来引用也是有办法的,那就是在文件头部将当前目录作为ruby加载的路径:
#其中File.dirname(__FILE__)代表当前路径,而$LOAD_PATH.unshift方法的目的就是将当前目录作用ruby标准的加载路径
$LOAD_PATH.unshift(File.dirname(__FILE__)) unless $LOAD_PATH.include?(File.dirname(__FILE__)) require "E7.4-1" require "E7.4-2" class Student < Person include Module1 end aStudent=Student.new aStudent.talk # I'm talking. puts aStudent.sqrt(77,2) # 8.77496438739435 |
ruby require的更多相关文章
- Ruby require 路径问题
require 负责引用一个外部文件,可以省略".rb"字样. 如: require 'foo.bar' 等价于 require 'foo' 在Ruby中,同一目录下的文件, 如 ...
- ruby require的使用
引用单个文件 例: 引用当前rb同目录下的file_to_require.rb先介绍3种方法 require File.join(__FILE__, '../file_to_require') req ...
- Ruby require, load include 区别
Require, load用于文件, *.rb require一般用于加载库文件,load加在配置文件,ruquire可省略“.rb",它指挥在第一次时候载入,如在字require就被忽略 ...
- 「ruby/MiniMagick」用MiniMagick处理图片
包的选择和配置 想用RMagick,但据说内存泄露的问题比较厉害,作为替代品MiniMagick不存在内存泄露的问题.而二者都是使用ImageMagick的,所以需要下载并安装ImageMagick. ...
- ruby的optparse使用小记
#自定义转换器 1 opts.accept(Hash) do |string| hash = {} string.split(',').each do |pair| key,value = pair. ...
- AWS SQS DOC AND RUBY DEMO
# Amazon SQS 搜集整理aws sqs 的文档以及使用Ruby demo ## Amazon Simple Queue Service (SQS) 是一个可伸缩且可靠的消息传递框架,能够使用 ...
- JAVA Socket(多个客户同时连接,信息共享) client (java/ruby)
第一步 充分理解Socket 1.什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字" ...
- Memcached 学习笔记(二)——ruby调用
Memcached 学习笔记(二)——ruby调用 上一节我们讲述了怎样安装memcached及memcached常用命令.这一节我们将通过ruby来调用memcached相关操作. 第一步,安装ru ...
- linux下ruby使用tcl/tk编程环境设置
正常情况下最新的ruby都是不带tcl/tk选项编译的,所以我们在运行tcl/tk代码时都会发生找不到tk库的错误.解决办法很简单只要以tcl/tk选项编译ruby即可. 这里以ubuntu 15.0 ...
随机推荐
- BZOJ 1419 Red is good ——期望DP
定义f[i][j]表示还剩i张红牌,j张黑牌的时候能取得的期望最大值 显然有$f[i][j]=max(0,\frac {i}{i+j}(f[i-1][j]+1)+ \frac {j}{i+j}(f[i ...
- 刷题总结——road(ssoi)
题目: 题目背景 SOURCE:NOIP2016-RZZ-1 题目描述 有 N 个城市,这些城市通过 M 条无向边互相连通,每条边有一个权值 Ci ,表示这条边的长度为 2^(Ci) ,没有两条边的长 ...
- websql使用实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Ubuntu Jdk卸载 Oracle Jdk安装
完全卸载 移除所有 Java相关包 (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ): apt-get update apt-cache search java ...
- Python入门--1--基本中的基本
一. 1.这是一个面向对面的编程,一种解释性语言. 2.缩进是python的灵魂,使代码变得非常简洁,正确使用冒号“:”,IDLE的 下一行会自动缩进 3.if语句中 python拒绝接受 ...
- Neo4j 第六篇:Cypher语法
Cypher是图形数据库查询语言事实上的标准. 一,Cypher类型系统 Cypher支持的类型系统分为三类:属性类型,复合类型和结构类型. 1,属性类型 属性类型:Integer.Float.Str ...
- Spring在Bean中注入集合
以下内容引用自http://wiki.jikexueyuan.com/project/spring/injecting-collection.html: 如果你想传递多个值,如Java Collect ...
- 【PostgreSQL】安装使用步骤
1.下载地址 https://www.postgresql.org/download/windows/ 下载按照较新版本,和平台相一致就好 2.安装 选择安装地址 数据存放地址 密码设置 端口使用默认 ...
- C++类型的转换
C风格转换是“万能的转换”,但需要程序员把握转换的安全性,编译器无能为力:static_cast最接近于C风格转换,但在无关类指针转换时,编译器会报错,提升了安全性:dynamic_cast要求转换类 ...
- 紫书p199 八数码(BFS,hash)
八数码问题 紫书上的简单搜索 渣渣好久才弄懂 #include<cstdio> #include<cstring> using namespace std; const i ...