Ruby中加载路径及load、require、require_r
2019-07-25 本文已影响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 的关联目录出现在加载路径中