`
yanzilee9292
  • 浏览: 538500 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

RUBY动态设置require的加载路径$load_PATH

    博客分类:
  • ruby
阅读更多

一行代码就可以了:

 

 

File.expand_path(File.join(File.dirname(__FILE__),’..’,’..’,'page’,'client_arithmetic’))

 

 

 

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  就是把上面得出的绝对路径加到现在已经存在所有环境变量之前。

 

分享到:
评论
2 楼 yanzilee9292 2011-08-04  
liuxiaori 写道
弱弱的问下,我是在windows下用ruby1.9.2  rails3.0.9  require其他文件直接就报错。找不到文件。
请问,上述的那句代码如何使用?见谅,刚入手ruby


一般来说如果require的时候报错 no such file -XXX to load,可以这样做: gem install XXX. 另外,windows和linux下的ROR环境有些地方不一样。
gem list --local 可以看有没有安装XXX。
1 楼 liuxiaori 2011-07-10  
弱弱的问下,我是在windows下用ruby1.9.2  rails3.0.9  require其他文件直接就报错。找不到文件。
请问,上述的那句代码如何使用?见谅,刚入手ruby

相关推荐

    Ruby,详细描述require背后的故事

    `require`背后的机制涉及到了Ruby的加载路径(`$LOAD_PATH`),这是一个Ruby用来搜索文件或库的目录列表。 #### `require`与`require_relative` 在Ruby中,除了`require`之外,还有一个`require_relative`关键字。这...

    举例讲解Ruby中require的使用方法

    - 当使用`require`时,Ruby解释器会根据`$LOAD_PATH`环境变量中的路径来查找指定的文件。 - `$LOAD_PATH`是一个数组,包含了Ruby解释器搜索库文件的所有路径。 - 如果文件不在`$LOAD_PATH`中,则Ruby会抛出一个...

    bootscale:通过缓存要求调用来加速应用程序启动

    为$LOAD_PATH正确性,每次调用Bootscale.regenerate修改$LOAD_PATH都应更新缓存。 对于Rails应用程序,这意味着在config/application.rb添加一个初始化config/application.rb 。 module MyApp class Application ...

    zeitwerk:Ruby的高效且线程安全的代码加载器

    Zeitwerk 介绍 Zeitwerk是用于Ruby的高效且线程安全的代码加载器。 给定,Zeitwerk能够按需(自动加载)或... 在内部,Zeitwerk问题require仅使用绝对文件名require调用,因此$LOAD_PATH中没有昂贵的文件系统查找。

    chef-handler-profiler:一个简单的 Chef 分析器,用于报告每个菜谱执行的时间

    使用以下内容创建配方: include_recipe "chef_handler"# Install `chef-handler-profiler` gem during the compile phasechef_gem "chef-handler-profiler"# load the gem here so it gets added to the $LOAD_PATH,...

    `require': no such file to load -- sqlite3/sqlite3_native

    标题中的错误信息"`require': no such file to load -- sqlite3/sqlite3_native"是一个常见的Ruby编程语言中的加载错误,通常发生在尝试使用SQLite3数据库驱动时。这个错误表明系统无法找到指定的sqlite3_native库,...

    08Ruby 模块.docx

    $LOAD_PATH require 'trig' y = Trig.sin(Trig::PI / 4) ``` #### 七、include 语句 通过`include`关键字,可以将一个模块的内容混入到类中。这意味着类可以访问模块中定义的所有公共方法。 **语法**: ```ruby ...

    idcf-json_hyper_schema

    Idcf :: JsonHyperSchema json-hyper-schema的分析 支持的草稿版本 草案4 安装 注意:需要Ruby 2.2.7或更高版本...p Idcf::JsonHyperSchema::Analyst.new.load(path) 扩张 require 'idcf/json_hyper_schema' path = Fi

    showcase:示范微服务示例

    该演示API实现了领域级的,基于隔离的,基于模块的类(带有Application[...]访问器),这些类仅在非常基本的require和$LOAD_PATH逻辑下才在运行时加载。 系统依赖项或庞大的第三方库在“需要时”加载,以确保应用...

    ruby on rails源代码分析

    `Rails::Initializer.run` 方法会根据传入的参数(如 `:set_load_path`、`:require_frameworks` 等)执行一系列配置步骤。 在初始化过程中,Rails 还会自动加载 `config/environment.rb` 文件,这是 Rails 应用程序...

    利用RJB在Ruby on Rails中使用Java代码的教程

    确保系统已安装Java SDK,并设置环境变量`JAVA_HOME`指向SDK安装路径,同时`PATH`包含`$JAVA_HOME/bin`。接着,解压RJB源代码,进入目录并执行配置、设置和安装命令。 2. **验证安装**:完成安装后,通过启动Ruby的...

    ruby-macho::nut_and_bolt:用于解析Mach-O文件的纯Ruby库

    Ruby猛男可以做什么的一个简单例子: require 'macho'file = MachO :: MachOFile . new ( "/path/to/my/binary" )# get the file's type (object, dynamic lib, executable, etc)file . filetype # => :execute# ...

    ruby初学者教程(对初学者很有帮助)

    `require`和`load`用于加载外部文件,`include`用于将模块混合到类中。 ```ruby require 'my_module' ``` #### 九、异常 **9.1 异常处理** Ruby使用`begin...rescue...end`块来捕获和处理异常。 ```ruby begin ...

    ruby-packer:将Ruby应用程序打包到单个可执行文件中

    本机支持任何形式的require和load ,包括动态需求(例如load(my_path + '/x.rb') ) Ruby Packer用Ruby编写,并使用Ruby Packer本身打包和分发 完全支持本机C扩展 开源,MIT许可 已知局限性 某些使用C扩展程序的...

    Ruby-PSDrb在Ruby中轻松解析Photoshop文件

    Ruby-PSDrb库是Ruby开发者用来解析Adobe Photoshop(PSD)文件的强大工具。这个库使得在Ruby环境中处理Photoshop文件变得简单而高效,尤其对于那些需要从PSD文件提取信息或者进行自动化图像处理的项目而言。让我们...

    搭建Rails测试环境2: Autotest和Spork的安装和配置

    在Ruby on Rails开发中,测试是确保代码质量与应用程序稳定性的重要环节。Rails提供了多种测试工具,Autotest和Spork就是其中两个常见的辅助测试工具。本文将详细介绍如何在Rails环境中安装和配置这两个工具。 首先...

    smartermeter:一个用于访问PG&E SmartMeter数据的Ruby库

    成功下载一组数据后,您应该可以使用ruby进行操作,如下所示: require 'rubygems' require 'smartermeter' config = YAML.load_file(File.expand_path("~/.smartermeter")) csv_file = Dir.glob(File.join...

Global site tag (gtag.js) - Google Analytics