美文网首页
Ruby中加载路径及load、require、require_r

Ruby中加载路径及load、require、require_r

作者: 吃果果的蛐蛐 | 来源:发表于2019-07-25 23:29 被阅读0次

    Ruby 库组成: 核心库(core)、标准库(standard library)、第三方库(third-party)
    标准库和第三方库需要 require 才可以使用

    加载路径

    查看加载路径 ruby -e "puts $:"

    /Users/zhangjiachen/.rvm/gems/ruby-2.5.3@global/gems/did_you_mean-1.2.0/lib
    /Users/zhangjiachen/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0
    /Users/zhangjiachen/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/x86_64-darwin18
    /Users/zhangjiachen/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby
    /Users/zhangjiachen/.rvm/rubies/ruby-2.5.3/lib/ruby/vendor_ruby/2.5.0
    /Users/zhangjiachen/.rvm/rubies/ruby-2.5.3/lib/ruby/vendor_ruby/2.5.0/x86_64-darwin18
    /Users/zhangjiachen/.rvm/rubies/ruby-2.5.3/lib/ruby/vendor_ruby
    /Users/zhangjiachen/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0
    /Users/zhangjiachen/.rvm/rubies/ruby-2.5.3/lib/ruby/2.5.0/x86_64-darwin18
    

    当加载一个文件时,Ruby 解释器会从上到下依次在每个子目录搜索

    load 用法

    load 命令总是会加载所请求的文件,不论这个文件是否已经加载过。
    Ruby 解释器遇到 load 的时候才会去寻找要加载的文件,
    load 一般用来加载配置文件。
    1 创建loaddemo.rb文件

    puts "this is the first file"
    load "loadee.rb"
    puts "and back again to the first file"
    

    2 创建loadee.rb文件

    puts "> this is the second file"
    

    3 执行ruby loaddemo.rb
    程序执行会打印出

    "this is the first file"
    "> this is the second file"
    "and back again to the first file"
    

    require

    loaddemo.rb文件的load "loadee.rb"改为 require "./loadee.rb", 执行ruby loaddemo.rb
    如果是require loadee.rb会加载不到loadee.rb文件,因为 require 无法识别当前工作目录。
    但是 require_relative "loadee.rb" 可以加载到当前路径的文件。

    安装gem 包后 require

    执行gem install hoe
    打开 irb
    注意画红线的部分 hoe 的关联目录出现在加载路径中

    image.png

    相关文章

      网友评论

          本文标题:Ruby中加载路径及load、require、require_r

          本文链接:https://www.haomeiwen.com/subject/pnxlrctx.html