04 2013 档案

ruby--$:.unshift File.expand_path('..', __FILE__)
摘要:一直能看到一些gem里面会有这样一句代码:$:.unshift File.expand_path('..', __FILE__)这句话是干什么用的呢$:就是ruby的一个全局变量,也叫$LOAD_PATH,功能就是java中的classpath,用来加载类库的,当你require某个文件时,ruby就会从这个变量的值去查找,找不到会报LoadError。这个值其实就是一个包含了类库绝对路径的数组。__FILE__这个变量代表文件自己的文件名,在foo.rb中puts__FILE__,结果就是foo.rb。File.expand_path可以把路径转换成绝对路径,假设有这样一个文 阅读全文

posted @ 2013-04-13 11:38 tim_sheng 阅读(3194) 评论(0) 推荐(1) 编辑

ruby--require引用文件路径方法与问题总结
摘要:同一目录下的文件,如/usr/local/ruby/foo.rb与/usr/local/ruby/bar.rb两个文件。如果直接在foo.rb中require 'bar'执行时会报找不到bar.rb错误。这是因为运行/home/oldsong$ ruby /usr/local/ruby/foo.rb时会在ruby安装的lib目录和/home/oldsong/目录下查找bar.rb。而不会去rb文件的目录/usr/local/ruby/下查找。所以除引用系统rb外,require中不能用相对路径。下面结合我个人经验介绍几种引用单个和目录下所有rb的方法。1、引用一个文件例: 引用 阅读全文

posted @ 2013-04-08 11:28 tim_sheng 阅读(8228) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示