class RDoc::Markup::Document
一个包含列表、标题、段落等的Document
。
属性
file[R]
创建此文档的文件。另请参阅RDoc::ClassModule#add_comment
omit_headings_below[RW]
如果标题低于给定级别,则会从table_of_contents
中省略该标题
parts[R]
Document
的组成部分
公共类方法
new(*parts) 点击切换源码
使用 parts
创建一个新的Document
# File rdoc/markup/document.rb, line 29 def initialize *parts @parts = [] @parts.concat parts @file = nil @omit_headings_from_table_of_contents_below = nil end
公共实例方法
<<(part) 点击切换源码
将 part
追加到文档
# File rdoc/markup/document.rb, line 40 def << part case part when RDoc::Markup::Document then unless part.empty? then parts.concat part.parts parts << RDoc::Markup::BlankLine.new end when String then raise ArgumentError, "expected RDoc::Markup::Document and friends, got String" unless part.empty? else parts << part end end
accept(visitor) 点击切换源码
通过 visitor
运行此文档及其所有项
# File rdoc/markup/document.rb, line 65 def accept visitor visitor.start_accepting visitor.accept_document self visitor.end_accepting end
concat(parts) 点击切换源码
将给定的 parts
连接到文档
# File rdoc/markup/document.rb, line 76 def concat parts self.parts.concat parts end
each(&block) 点击切换源码
此文档各个部分的枚举器
# File rdoc/markup/document.rb, line 83 def each &block @parts.each(&block) end
empty?() 点击切换源码
此文档是否没有部分?
# File rdoc/markup/document.rb, line 90 def empty? @parts.empty? or (@parts.length == 1 and merged? and @parts.first.empty?) end
file=(location) 点击切换源码
创建此Document
的文件。
# File rdoc/markup/document.rb, line 97 def file= location @file = case location when RDoc::TopLevel then location.relative_name else location end end
merge(other) 点击切换源码
当这是一个文档集合时(file
未设置,并且此文档仅包含其他文档作为其直接子级),当文件匹配时,merge
会将此类中的文档替换为来自 other
的文档,当文件不匹配时,会添加来自 other
的文档。
other
中的信息优先于接收者
# File rdoc/markup/document.rb, line 114 def merge other if empty? then @parts = other.parts return self end other.parts.each do |other_part| self.parts.delete_if do |self_part| self_part.file and self_part.file == other_part.file end self.parts << other_part end self end
merged?() 点击切换源码
此Document
是否包含其他文档?
# File rdoc/markup/document.rb, line 134 def merged? RDoc::Markup::Document === @parts.first end
push(*parts) 点击切换源码
将 parts
追加到文档
# File rdoc/markup/document.rb, line 151 def push *parts self.parts.concat parts end
table_of_contents() 点击切换源码
返回文档中标题的数组。
在调用此方法之前,请 require ‘rdoc/markup/formatter’。
# File rdoc/markup/document.rb, line 160 def table_of_contents accept RDoc::Markup::ToTableOfContents.to_toc end