`
yangbinfc
  • 浏览: 51135 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ruby $load_PATH

 
阅读更多

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和$:指的都是同一个环境变量,按照 xiaoshenyang的话说,是一样一样的。
2、__FILE__指的是当前rb文件所在目录的相对位置。
3、File.join是把自己的参数组成一个目录形式的方法,如上面就组成“xxx/../../page/client_arithmetic”(xxx代码rb文件的相对位置)
4、 File.expand_path就是把其参数从相对路径转化为绝对路径的方法。
5、$LOAD_PATH.unshift 就是把上面得出的绝对路径加到现在已经存在所有环境变量之前。

分享到:
评论

相关推荐

    zozo:ruby 项目的简单 $LOAD_PATH 管理

    zozo 是一个工具,通过让它们在运行时不加载 ruby​​gems/bundler,可以轻松减少应用程序的内存占用: $ unicorn -c unicorn.conf -D $ ps ux USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND jeremy ...

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

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

    cloudformation_mapper:Cloudformation 的面向对象 DSL 和映射器

    CloudformationMapper Cloudformation 的.../usr/local/env ruby $LOAD_PATH << File . join ( File . dirname ( __FILE__ ) , 'lib' ) Dir [ File . join ( File . dirname ( __FILE__ ) , "lib" , "cloudforma

    08Ruby 模块.docx

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

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

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

    sketchup-ruby-api-tutorials:SketchUp Ruby API教程和示例

    入门与教程 示例扩展 我们经常发现,我们需要的培训水平不仅要超出基础知识,而且还比仅仅阅读API文档提供更多信息。 别再看了! 请查看我们的“示例扩展”部分,以获取功能齐全的SketchUp扩展的示例,并附带注释和...

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

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

    简单实现蚁群优化算法_ruby_代码_下载

    graph = YAML.load_file('test_data/test1.yml') colony = AntColony::Colony.new(graph, beta: 0.8, alpha: 0.7, pop: 200, ph: 0.3, q: 5) colony.solve colony.find_path 1 # path from point 1 更多详情、使用...

    reditor:用$ EDITOR打开一个ruby库

    此命令从$LOAD_PATH或rubygems检测并打开一个库。 reditor需要$EDITOR变量。 安装 $ gem install reditor 用法 打开标准库(仅纯Ruby) $ reditor set 打开宝石 $ reditor railties 通过$ SHELL打开图书馆 $ ...

    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,...

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

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

    rubyinstaller-1.9.2-p0

    5. **模块和类的加载路径**:引入了`$LOAD_PATH`(后来更改为`$:`)的概念,用于控制类和模块的加载顺序和位置。 RubyInstaller-1.9.2-p0.exe 是这个安装程序的可执行文件,它包含了安装过程中所需的所有组件,包括...

    showcase:示范微服务示例

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

    Ruby的国际化(i18n)库-Ruby开发

    Ruby(不带Rails)如果要在不带Rails的情况下使用此库,则只需将i18n添加到Gemfile中:gem'i18n',然后使用一些翻译和默认语言环境配置I18n:I18n.load_path << Dir [File.expand_path (“配置/语言环境”)+...

    i18n:Ruby的国际化(i18n)库

    load_path << Dir [ File . expand_path ( "config/locales" ) + "/*.yml" ] I18n . default_locale = :en # (note that `en` is already the default!) 您项目中的一个简单翻译文件可能位于config/locales/...

    Ruby-CanCanCanRubyonRails的一个授权Gem

    <%= link_to '编辑', edit_article_path(@article) %> ``` CanCanCan 还支持更复杂的授权逻辑,如基于时间条件、关联对象或自定义方法的能力检查。同时,它还提供了错误处理机制,当用户尝试访问未经授权的资源时...

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

    - **Windows平台**:可以通过RubyInstaller进行安装,安装过程中可以选择是否添加Ruby到系统的PATH环境中。 - **Linux平台**:大多数Linux发行版都提供了Ruby的软件包,可以通过包管理器(如apt-get或yum)轻松安装...

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

    new ( "/path/to/my/binary" )# get the file's type (object, dynamic lib, executable, etc)file . filetype # => :execute# get all load commands in the file and print their offsets:file . load_commands ....

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

    Rjb::load('path/to/your/library.jar') # 创建Java对象 tar_utils = Rjb::import('com.example.util.TarUtils').new # 调用Java方法 archive_path = 'path/to/archive.tar' extract_path = 'path/to/extract' tar...

Global site tag (gtag.js) - Google Analytics