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

ruby 的 require 和 require_relative

    博客分类:
  • ruby
 
阅读更多

 

require 只是一个 Kernel 的方法

requrie filename
  • 如果 filename 是一个相对路径,则会在 $LAOD_PATH ($:) 中去寻找相应的文件(.rb, .so, .dll ...)

  • 如果 filename 是一个绝对路径,则就寻找绝对路径

require_relative 也是 Kernel 的方法

require_relative filename
  • 就是直接取相对路径,只不过这时候,与$LOAD_PATH ($:) 没什么关系,是文件本身路径的相对地址

分享到:
评论

相关推荐

    rubocop_require_relative:对于不确定的情况,您可以信任require_relative

    rubocop_require_relative 该宝石扩展了rubocop以捕获require_relative。 安装 将此行添加到您的应用程序的Gemfile中: gem 'rubocop_require_relative' 然后执行: $ bundle 用法 在.rubocop.yml中,添加以下...

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

    当在Ruby程序中使用`require`时,它会引入指定的文件或库,从而使开发者可以访问其中定义的类、方法和变量。`require`背后的机制涉及到了Ruby的加载路径(`$LOAD_PATH`),这是一个Ruby用来搜索文件或库的目录列表。 ...

    动态加载的艺术:Ruby中require与load的区别

    为了实现这一目标,Ruby 提供了两种不同的方法来加载外部文件和库:`require` 和 `load`。虽然它们在某些情况下可以互换使用,但在行为和用途上却有着明显的不同。了解这些差异可以帮助开发者更有效地组织和管理代码...

    Ruby-dotenv从env加载环境变量

    require_relative 'boot' require 'rails/all' # 如果你在Gemfile中添加了`dotenv-rails`,则可以移除以下行 # require 'dotenv/load' Bundler.require(*Rails.groups) module YourApp class Application # ...

    ruby1.8.5 和locale.properties

    3. 语法差异:Ruby 1.8.5 的语法与更新的版本有所区别,例如 `require_relative` 在这个版本中不存在,要用 `require File.dirname(__FILE__) + '/../file'` 替代。 4. 性能:与现代版本相比,1.8.5 的运行速度较慢...

    Ruby-一个漂亮的正则表达式用于查找和提取这些文件中的相对URL

    relative_url_regex = /href=["']?([^"'\s]+)["']?/i ``` 这个正则表达式会匹配`href`属性值,其中`[^"'\s]+`表示匹配除引号和空格之外的任何字符,`i`表示不区分大小写。在实际应用中,我们还需要考虑CSS、...

    ruby-appcast:ruby sparkle.xml 生成器

    require_relative 'appcast' appcast = Screenhero :: Sparkle :: AppCast . new ( name : "MyAwesomeApp" , description : "MyAwesomeApp updates" , dsa_priv : File . open ( "/path/to/dsa_priv.pem" , File ::...

    Ruby-将Ruby变成一个多功能命令行实用程序

    同时,利用Ruby的`autoload`或`require_all`库,我们可以管理CLI工具所需的其他模块和文件。 7. **测试**: 对于任何软件项目,测试都是至关重要的。使用`RSpec`或`Minitest`这样的测试框架,我们可以编写单元测试...

    Ruby_Calculator_Minitest

    require_relative 'calculator' # 引入Calculator类 class CalculatorTest def setup @calculator = Calculator.new end def test_addition assert_equal 5, @calculator.add(2, 3) end def test_...

    ruby+selenium-webdriver测试-逻辑与数据分离源代码

    require_relative 'login_page' def test_login driver = Selenium::WebDriver.for :chrome login_page = LoginPage.new(driver) # 数据部分 username = 'test_user' password = 'test_password' # 逻辑...

    Ruby的陷阱

    Ruby的`require`或`require_relative`用于加载文件,它们具有全局作用域。因此,类和模块的定义顺序至关重要,否则可能会因未定义的引用引发错误。 8. **方法的重载** Ruby并不支持传统的函数重载,但可以通过...

    Ruby-ROMRubyObjectMapperROMRuby的数据映射和持久化工具包

    require_relative 'config/rom' rom.gateways[:default].setup class UserRepository [:users] def find(id) by_id(id).one end end user_repo = UserRepository.new user = user_repo.find(1) ``` 总结来说...

    speech-recognition-ruby:使用 AT&T API 的 Ruby 语音识别脚本

    语音识别Ruby 使用 AT&T API 在 Ruby 中进行语音识别。 要求 Ruby 1.9.3 或更高版本(推荐 Ruby ... require_relative 'speech_recognition' # transcribe the audio speech = SpeechRecognition . new speech . r

    rb代码-Ruby 测试一下

    在Ruby编程语言中,`.rb` 文件是源代码文件,用于编写和执行Ruby程序。`.rb` 扩展名是Ruby社区广泛接受的标准,当你看到一个名为 `main.rb` 的文件,可以理解为这是一个Ruby程序的主要入口点。在这个场景中,`main....

    socket2:Ruby 中的第 2 层原始数据包操作

    插座2 添加到允许在 Ruby 中进行第 2 层原始数据包操作的本机 ... require_relative 'socket2.rb' # Create a layer-2 socket in a mostly familiar way sock = Socket . new ( Socket :: AF_PACKET , Socket :: SOCK_

    Ruby

    10. **动态加载和自定义加载路径**:Ruby允许在运行时动态加载代码,通过`require`或`require_relative`实现,也可以自定义加载路径。 11. **Gem包管理器**:Ruby有强大的Gem生态系统,允许开发者分享和安装第三方...

    RubyDrop:滚动你自己的用 Ruby 编写的类似 Dropbox 的克隆

    先决条件RubyRuby 1.9+(需要 require_relative 函数)如何跑步您只需运行以下命令即可启动 RubyDrop: ./RubyDrop &默认情况下,它监视的 RubyDrop 文件夹在 ~/RubyDrop 中创建(如果它不存在)。 要更改此路径,只...

    sinatra-decorator:Sinatra应用程序的装饰器

    辛纳屈装饰 ...require_relative 'decorators/post_decorator' get '/' do @post = Post . new . decorate # will try to find "#{self.class}Decorator" class slim :show end # models/post.rb

    PKMNEssentialsPlugin:RMXP 插件使 .rxdata 可通过 CVS 进行管理。 YAML 中的输出

    修改: 导出 EditorScripts 用 require_relative 替换 require 以保持更新的 ruby 注释掉导致错误的几行替换 File.exists? 与 File.exist? 用于更新 ruby​​ 的约定更改了 $CONFIG_PATH 和 $PROJECT_DIR 的定义...

Global site tag (gtag.js) - Google Analytics