http://blog.csdn.net/normallife/article/details/5644941
加载文件时需要:
require ‘file’
但是加载这个文件前需要有个上下文环境,如:
$:.unshift(File.expand_path(File.join(File.dirname(__FILE__),’..’,’file’)))
require 如果返回true,说明成功读取了新的功能
加载路径,就是默认ruby启动的时候会在这些路径里去寻找可以加载的类库。ruby加载路径放在一个变量$LOAD_PATH($:)里。
函数解释:
File.dirname(__FILE__) 得到当前文件的路径
File.join(‘x’,’y’,’z’) 相当于x/y/z
File.expand_path('./x/y/z) 组成一个绝对路径
$:.unshift("file")加入到$:变量中
支持通配符各正则表达式:
Dir.glob(Dir.glob(File.join(File.dirname(__FILE__), '../*.rb')).each {|f| require f }
http://gypsyer.blog.51cto.com/734537/162545
Q:$LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__),’..’,’..’,'page’,'client_arithmetic’))是什么意思啊?
A:
1、$LOAD_PATH指的是Ruby读取外部文件的一个环境变量,其实和windows的环境变量是一个概念。Ruby会在这个环境变量的路径中读取需要require的文件,如果在环境变量中找不到自己想要的文件,就会报LoadError错误。还有$LOAD_PATH和$:指的都是同一个环境变量。
2、__FILE__指的是当前rb文件所在目录的相对位置。
3、File.join是把自己的参数组成一个目录形式的方法,如上面就组成“xxx/../../page/client_arithmetic”(xxx代码rb文件的相对位置)
4、 File.expand_path就是把其参数从相对路径转化为绝对路径的方法。
5、$LOAD_PATH.unshift 就是把上面得出的绝对路径加到现在已经存在所有环境变量之前。
分享到:
相关推荐
Ruby的Ini文件读写,含实例,操作方法 对于学习Ruby的人会有一定的参考价值。
Ruby 读写 txt文件 自用 网络资源...
通过传递指定键,读取cfg文件(可手动修改)中的键值
ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件ruby打包文件
NULL 博文链接:https://huigou.iteye.com/blog/1154745
Ruby 环境变量 Ruby 解释器使用下列环境变量来控制它的行为。ENV 对象包含了所有当前设置的环境变量列表。 对于 Unix,使用 env 命令来查看所有环境变量的列表。 HOSTNAME=ip-72-167-112-17.ip.secureserver.net ...
NULL 博文链接:https://lj6684.iteye.com/blog/418326
在ruby中用fastercsv导出csv文件。 给出了主要文件,如有疑问请查google。
类变量、全局变量、实例变量, 多态、为什么ruby、ruby编码规范
ruby> $foo nil ruby> $foo = 5 5 ruby> $foo 5 应谨慎使用全局变量.由于在任何地方都可以被写因此他们相当危险.滥用全局变量会导致很难隔离臭虫;同时也视为程序的设计未经严格考虑.当你发现必须要使用全局...
ruby的库帮助文件,对于Ruby开发者应该必备的工具
dotenv - 从.env加载环境变量
Ruby语言教程:Ruby 变量示例
双击 rubyinstaller-2.2.3.exe 文件,启动 Ruby 安装向导。 点击 Next,继续向导,记得勾选 Add Ruby executables to your PATH,直到 Ruby 安装程序完成 Ruby 安装为止。 如果您的安装没有适当地配置环境变量...
ruby实现文件对比资料收集,看完之后写一个文件对比的脚本或者输出报告没有问题,可以看看,
ruby资源文件,ruby rdoc.gem文件,离线ruby文件包
ruby新版本EXE文件,比较稳定的版本,现在ruby资源比较少。
ruby文件操作大全,主要是DIR,FILE和文件夹类的相关操作,比较实用
ruby对xml文件的解析,不是很全,应该还是有一定帮助的