ruby的require路径问题
ruby1.9删除当前目录功能,require "Action.rb"不行、
用下面2种方式:
require_relative "trig.rb" .rb可以省略,虽然首字母大小写都可以,但用大写。
require ".Action.rb" module中的实例变量因为不可以创建对象实例,但有一个非常有用的作用,即通过模块使用叫做混合插入(mixin)的机制实现了多重继承。
Ruby的include语句只是创建了一个指向一个有名字的模块的引用,如果这个模块在一个独立的文件中,那么你必须先用require将这个文件引入,然后才能使用include。第二,Ruby的include不是简单的将模块的实例方法拷贝到类里面,而是建立一个从类到模块的引用。如果很多个类都包含了同一个模块,它们都指向同一样东西。如果你修改了模块中一个方法的定义,即使你的程序还在运行之中,你的类也能使用新的方法的行为[ 注意,我们这里说的是实例方法,实例变量永远都是每个对象都有一份拷贝]
require_relative "Trig.rb"
class Test1
include Trig
end
t=Test1.new.instance
或
module Trig
@af=
PI=3.14159
def instance
puts "模块的实例方法"
end
def Trig.sin(x)
puts "trig的sin方法"
end
def Trig.cos(x)
puts "trig的cos方法"
end
end class Test1
include Trig
end
t=Test1.new.instance
ruby的require路径问题的更多相关文章
- ruby关于require路径
ruby里面的require说明 require './aaaa' 这种方式,包含的是系统路径 相对路径得用下面的 require_relative "./xxxx" 或者使用这个 ...
- Ruby的require相关知识
1. 在调用require xxx之前,需要确定xxx这个gem已经安装过了(使用gem install xxx,安装位置可以使用gem env列出),或者xxx是Ruby内置的标准函数库(StdLi ...
- NodeJS require路径
项目需要用nodejs,感觉nodejs是前端装逼神器了,是通向全栈工程师的必经之路哇,接下来开始踏上学习nodejs的征程.下面是第一个hello,world的程序. 1.server.js文件,这 ...
- Ruby require 路径问题
require 负责引用一个外部文件,可以省略".rb"字样. 如: require 'foo.bar' 等价于 require 'foo' 在Ruby中,同一目录下的文件, 如 ...
- CCLuaLoadChunksFromZIP加载后的require路径问题
对于require来说,在LUA中的机制就是搜索path路径了.但对于CCLuaLoadChunksFromZIP加载的LUA文件来说,require的路径又是怎么样的呢? 我在服务器上有一个 oox ...
- dojo 一 require 路径问题
dojo.baseUrl baseUrl用来存储dojo.js存放 的跟目录,例如dojo.js的路径是“/web/scripts/dojo-1.3/dojo/dojo.js”则baseUrl为“/w ...
- lua require路径设置实例
1.首先要强调的是,lua require的路径用的是斜杠"/",而不是从Windows文件属性那里复制来的反斜杠"\". 2.通过 print(pagckag ...
- Ruby On Rails 路径穿越漏洞(CVE-2018-3760)
Ruby On Rails在开发环境下使用Sprockets作为静态文件服务器,Ruby On Rails是著名Ruby Web开发框架,Sprockets是编译及分发静态资源文件的Ruby库. Sp ...
- nodejs中require的路径是一个文件夹时发生了什么
node中使用require的时候如果路径是一个文件夹时,或者特殊的情况require('..');require('.'); 这是node实战这本书里说的情况,但是我在node6.9版本中发现不完全 ...
随机推荐
- SpringBoot使用webservice
Pom.xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spr ...
- [Web 前端] 012 css 元素溢出
overflow 当子元素的尺寸超过父元素的尺寸时,需要设置父元素显示溢出的子元素的方式 通过 overflow 属性来设置 概览 参数 释义 visible(默认值) 内容不会被修剪会呈现在元素框之 ...
- [19/05/19-星期日] CSS_css的声明和选择器
一.引言 HTML的作用是负责数据的格式展示,如果使用它来搞数据的样式,则发现样式书写出来太麻烦,不易于维护: HTML可以有效组织数据的展示,但是不同类型数据在浏览器中的分布没有办法展示. HTML ...
- eclipse中常用的快捷键【开发常用到的】
1.全部选中:Ctrl+A 2.剪切Ctrl+X.复制Ctrl+C.粘贴Ctrl+V.保存Ctrl+S 3.撤销Ctrl+Z.取消撤销Ctrl+Y 4.规范代码:Ctrl+Shift+F 5.将代码更 ...
- HDU 1174 题解(计算几何)
题面: 爆头 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- BZOJ 3252题解(贪心+dfs序+线段树)
题面 传送门 分析 此题做法很多,树形DP,DFS序+线段树,树链剖分都可以做 这里给出DFS序+线段树的代码 我们用线段树维护到根节点路径上节点权值之和的最大值,以及取到最大值的节点编号x 每次从根 ...
- 一步一步玩控件:自定义TabControl——从山寨Safari开始
作者:野比 (conmajia@gmail.com) 时间:May, 2012 封面图片为野比原创,请勿未经允许私自引用 #1-1 嗯,各位,又是我,生物钟颠倒的家伙. 今天我要山寨的是大名鼎鼎的Ap ...
- C#判断页面中的多个文本框输入值是否有重复的实现方法
List<string> list = new List<string>();//首先定义一个泛型数组 //这里假如说有四个文本框 string mainseat = this ...
- 攻防世界--srm-50
测试文件:https://adworld.xctf.org.cn/media/task/attachments/6df7b29f8f18437887ff4be163b567d5.exe 1.准备 获取 ...
- Maya多版本下载与激活方法
目录 1. 安装激活说明 1. 安装激活说明 Maya2019:https://www.cnblogs.com/coco56/p/11425559.html Maya2017:https://www. ...