新手问题 ri 命令失灵了?

sevk · 2024年11月08日 · 最后由 caoyadong888 回复于 2026年10月21日 · 329 次阅读

ri Array.new 返回正常 .

ruby 3.3.5 (2024-09-03 revision ef084cc8f4) +YJIT [x86_64-linux]

ri Array.pack 返回异常:


= Array.pack

(from ruby core)
------------------------------------------------------------------------
  pack(template, buffer: nil) -> string

------------------------------------------------------------------------

Formats each element in self into a binary string; returns that string.
See {Packed Data}[rdoc-ref:packed_data.rdoc].

不是失灵,是文档结构的问题。

Array#pack / String#unpack 的详细说明不在 Array 类里,而在 Ruby 文档的 Packed Data 专章。所以 ri Array.pack 只会给你方法签名和一句摘要,再挂一个 rdoc-ref:packed_data.rdoc 的交叉引用;交叉引用在终端里经常展不开,看起来就像“坏了”。

可以这样看完整说明:

ri PackedData
# 或者
ri 'Array#pack'

浏览器里打开对应版本的官方 Ruby 文档(搜 Packed Data)会更清楚。ri Array.new 正常,是因为 new 的正文就写在 Array 类文档里。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号