默认加载哪些 ruby​​ 模块?

2023-12-27

直到最近,我还认为所有标准模块(那些可以在http://ruby-doc.org/stdlib/ http://ruby-doc.org/stdlib/) 默认情况下不加载。也就是说,您必须要求您将要使用的每一个。但从内容来看,确实有一些是被加载的$LOADED_FEATURES:

$ ruby -rpp -e 'p $LOADED_FEATURES'
["enumerator.so",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/enc/encdb.so",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/enc/trans/transdb.so",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/rbconfig.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/compatibility.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/defaults.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/deprecate.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/errors.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/version.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/requirement.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/platform.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/specification.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/exceptions.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb",                                                                                          
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/prettyprint.rb",
 "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/pp.rb"]

所以我想知道原因是什么,我可以以任何方式影响它吗?

UPD输出无需pp

$ ruby -e 'p $LOADED_FEATURES'
["enumerator.so", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/enc/encdb.so", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/enc/trans/transdb.so", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-linux/rbconfig.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/compatibility.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/defaults.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/deprecate.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/errors.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/version.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/requirement.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/platform.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/specification.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/exceptions.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb", "/home/yuri/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/rubygems.rb"]

我看到的唯一加载的库是 RubyGems,它确实是在 1.9.0 中添加到 Ruby 中的。

顺便说一句:你不require modules, you require files.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

默认加载哪些 ruby​​ 模块? 的相关文章

随机推荐

  • 在 Servlet/JSP 中加载属性文件[重复]

    这个问题在这里已经有答案了 我创建了一个jar从我的Java project并想在一个JSP Servlet Project 我正在尝试加载一个属性文件 比如说我的sample propertiesJSP Servlet Project保存
  • 通过Webpack导入模块中的图片

    我的应用程序使用 NodeJs webpack 和 ES2015 我似乎无法弄清楚如何在我的模块中导入图像 以下不起作用 import css image t1 png 编辑 根据 Sitian 的要求 这是我的 webpack 配置 co
  • 隐藏 SSRS 中的列

    我正在使用 SSRS 2012 和 Excel 2010 我想在导出到 Excel 时隐藏一列 在浏览了一些论坛后 似乎最好的方法是转到您正在查找的内容的列或文本框隐藏并在 可见性 隐藏 选项下将 表达式 设置为 IIF Globals R
  • Chicken计划中的命名空间

    命名空间在 Chicken Scheme 中如何工作 我现在正在使用parley鸡蛋 当我定义一个名为例如的函数时read 由于名称冲突而导致错误 实际上 因为我的read覆盖parley s own read 并且以错误的类型调用它 这是
  • 使用 URL swift Alamofire 上传视频

    我需要使用 alamofire 将视频上传到服务器 用户选择视频 我在 didFinishPickingMediaWithInfo 中成功获取 URL 如下所示 func imagePickerController picker UIIma
  • 如何导入无法识别的日期时间格式的 CSV?

    该表如下所示 CREATE TABLE dbo temptable id nvarchar 50 COLLATE SQL Latin1 General CP1 CI AS NOT NULL datetime datetime NOT NUL
  • 合并 PDF 文件

    是否可以使用 Python 合并单独的 PDF 文件 假设是这样 我需要进一步扩展一下 我希望循环遍历目录中的文件夹并重复此过程 我可能会碰碰运气 但是否有可能排除每个 PDF 中包含的页面 我的报告生成总是会创建一个额外的空白页面 您可以
  • 使用 Scala 和 SBT 设置 IntelliJ

    我正在尝试使用 scala 和 sbt 设置 intellij 进行开发 我已经在 IDE 上安装了 scala 和 SBT 插件 但是 当我尝试创建新的 scala 和 sbt 项目时 build sbt 文件显示以下错误 Cannot
  • Jmeter:使用带变量的 jmeter Junit 请求

    正如我在问题中所说 是否可以将 jmeter 变量 通过 J 传递 传递到JUnit Request为了它可以在 junit 测试内部使用 听起来可行Apache Junit 请求文档 http jmeter apache org user
  • Android 填充Webview内容时底部白色条纹

    将 HTML 加载到 Web 视图后 我会在布局的右侧和底部看到一条白色条纹 对于正确的 我使用以下方法解决了它 setScrollBarStyle WebView SCROLLBARS INSIDE OVERLAY 然而 我尝试了很多方法
  • 如何使用 dplyr::filter() 仅返回值包含一个或多个给定字符串向量的行?

    我有一个包含一列字符串的数据框 我想使用 filter 或另一个可管道函数 仅返回包含字符串的行 这些字符串包含另一个字符串向量中的任何值 我已经查看了以前的问题和答案 但找不到任何我正在寻找的东西 例如 title lt c apple
  • .Net WebClient 类中的curl -u 等效项

    这个问题解释了一切 但这里有更多信息 我正在尝试将 4sq api 与 C 一起使用 并且需要在每个请求中发送用户名密码对 API 文档说 curl u user pass 可以完成这项工作 但我如何使用 WebClient 来完成这项工作
  • 将 Web 服务器升级到 .net Framework 4.6.1 时,与远程 SQL 服务器的连接中断

    我们目前正在努力将我们的 asp net Web 应用程序 托管在 IIS 7 5 上 从 net Framework v4 5 更新到 v4 6 1 在 SQL Server 与 IIS 运行在同一机器上的小型较低环境 本地开发中 此更新
  • 为 SQL Compact 4 设置 EF4 数据源

    我已经使用 vs 工具安装了 Visual Studio 2010 SP1 EF 4 1 SQL Compact 4 0 一切看起来都很好 除了我无法通过向导使用 SQL Compact 4 作为实体框架的数据源 唯一的替代方案是 SQL
  • 并发修改异常? [复制]

    这个问题在这里已经有答案了 我试图按开始时间对时间跨度列表 表示为具有开始时间和结束时间的 Time 数组 进行排序 我正在尝试使用以下嵌套循环来执行此操作 for Time span workingList Time compareTo
  • 配置 cobertura 以忽略某些代码块

    是否可以使用 Cobertura 告诉它忽略由开始和结束注释标识的某些代码位 例如 public class Foo public void static doSomething Cobertura Ignore Start Cobertu
  • 0x80020101代表什么?

    一个简单的问题 我在微软的错误查找或轻松使用谷歌中找不到答案 HRESULT 0x80020101 代表什么 http support microsoft com kb 247784 http support microsoft com k
  • 从scala并行收集到常规收集的转换

    我正在尝试从并行集合转换回常规地图 根据 api 如果我在任何适当定义的并行集合上调用 toMap 它应该返回一个标准 Map 但它会通过可迭代的扁平集合返回 ParMap I have a val task Stream Future I
  • 在哪里存储密码?

    我正在编写一个 Android 密码管理器应用程序 我想将主密码存储在某个地方 但我不知道在哪里 我是否应该使用我选择的硬编码密码对用户提供的主密码进行加密 然后将其存储到数据库中 或者我应该做点别的什么 您永远不应该存储未加密的密码 对于
  • 默认加载哪些 ruby​​ 模块?

    直到最近 我还认为所有标准模块 那些可以在http ruby doc org stdlib http ruby doc org stdlib 默认情况下不加载 也就是说 您必须要求您将要使用的每一个 但从内容来看 确实有一些是被加载的 LO