class RDoc::Parser::Ruby

从源文件中提取代码元素,返回一个包含组成文件元素的 TopLevel 对象。

此文件基于 rtags

RubyParser 理解如何文档化

Method 参数

解析器从方法定义中提取参数。 您可以使用 :call-seq: 指令使用自定义参数定义来覆盖此参数。

##
# This method can be called with a range or an offset and length
#
# :call-seq:
#   my_method(Range)
#   my_method(offset, length)

def my_method(*args)
end

解析器从方法主体中提取 yield 表达式,以收集 yield 的参数名称。 如果您的方法手动调用块而不是 yield,或者您想要覆盖已发现的参数名称,请使用 :yields: 指令

##
# My method is awesome

def my_method(&block) # :yields: happy, times
  block.call 1, 2
end

元编程方法

要拾取元编程方法,解析器会在标识符之前查找以“##”开头的注释

##
# This is a meta-programmed method!

add_my_method :meta_method, :arg1, :arg2

解析器查看标识符之后的标记以确定名称,在本例中为:meta_method。 如果找不到名称,则会打印警告并使用“unknown”。

您可以使用 :method: 指令强制方法的名称

##
# :method: some_method!

默认情况下,元方法是实例方法。 要指示方法是单例方法,请改用 :singleton-method: 指令

##
# :singleton-method:

您也可以将 :singleton-method: 指令与名称一起使用

##
# :singleton-method: some_method!

您可以通过 :call-seq: 、 :arg: 或 :args: 指令为元编程方法定义参数。

此外,您可以使用 :attr:、:attr_reader:、:attr_writer: 或 :attr_accessor: 将方法标记为属性。 就像 :method: 一样,名称是可选的。

##
# :attr_reader: my_attr_name

隐藏方法和属性

您可以为使用 :method:、:singleton-method: 和 :attr: 指令不显示的方法提供文档

##
# :attr_writer: ghost_writer
# There is an attribute here, but you can't see it!

##
# :method: ghost_method
# There is a method here, but you can't see it!

##
# this is a comment for a regular method

def regular_method() end

请注意,默认情况下,如果其后有标准的可 rdoc 项目,则 :method: 指令将被忽略。