ri 和 rdoc 有啥区别

Posted

技术标签:

【中文标题】ri 和 rdoc 有啥区别【英文标题】:What is the difference between ri and rdocri 和 rdoc 有什么区别 【发布时间】:2011-04-08 07:38:38 【问题描述】:

每当我安装 gems 时,我都会看到 ri 和 rdoc。我知道这是文档,但是两者之间有什么区别以及如何使用它们?

【问题讨论】:

【参考方案1】:

RDoc [..] 是 Ruby 编程语言的嵌入式文档生成器。 [..] RDoc 包含在 Ruby 核心发行版中。

RDoc 还提供了用于创建 Ruby ri 数据文件的引擎。 ri (或多或少)是 Ruby 版本的手册页,从命令行提供 API 信息。

来自: http://en.wikipedia.org/wiki/RDoc

【讨论】:

那么ri是手动阅读器,只能读取单一格式(ri数据文件),而这样的格式是RDoc可以生成的格式之一?【参考方案2】:

要访问您的 gem 的本地 RDoc,请输入 gem server 并将您的浏览器指向 http://localhost:8808

如果您的 gem 的 RDocs 没有安装,gem rdoc --all将为您的所有 gem 安装文档。

似乎不需要本地文档。许多开发人员故意跳过安装它以支持在线文档。但是,对于我们这些使用像 Rails 2 这样的遗留工具的人来说,它可以让我们快速轻松地找到正确的文档。

【讨论】:

自从得到这个答案后,我终于走出了石器时代,现在正在使用 Rails 4 开展一个项目。由于我不再需要本地文档,所以我按照 this question 中的说明进行操作默认情况下不会安装该文档。这使得安装 gems 和 bundle 更快。【参考方案3】: RDoc 自动从 cmets 和 你的代码结构。 https://github.com/rdoc/rdoc 这么想 多氧。使用它为您编写的代码生成自动文档。 ri 是离线帮助文件,例如,如果您没有互联网。 http://www.caliban.org/ruby/rubyguide.shtml#ri 想想perldoc。当您对课程有疑问时使用它,例如 ri Enumerator 应该提出

枚举器


= 包括:可枚举(来自 ruby​​ 核心)

(来自红宝石核心) -------------------------------------------------- ---------------------------- 允许内部和外部迭代的类。

可以通过以下方法创建枚举器。 * 内核#to_enum * 内核#enum_for * 枚举器.new

大多数方法有两种形式:块形式,内容是 对枚举中的每个项目进行评估,以及一个非块形式 返回一个包装迭代的新枚举器。

enumerator = %w(一二三).each puts enumerator.class # => 枚举器 enumerator.each_with_object("foo") 做 |item,obj| puts "#obj: #item" end # foo: 一 # foo: 二 # foo: 三 enum_with_obj = enumerator.each_with_object("foo") puts enum_with_obj.class # => 枚举器 enum_with_obj.each 做 |item,obj| puts "#obj: #item" end # foo: 一 # foo: 二 # foo: 三

这允许您将枚举器链接在一起............

【讨论】:

以上是关于ri 和 rdoc 有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

80C51指令系统中Rn与Ri有啥区别?

我是不是因为没有为 gems 安装 ri 和 rdoc 而错过了啥?

rubygems 1.8.x 默认禁用 rdoc 和 ri 生成

如何将 RubyGems 配置为不安装 rdoc 或 ri [重复]

如何使 --no-ri --no-rdoc 成为 gem 安装的默认值? [复制]

英语单词referee和referrer有啥区别?