類別 Psych::Nodes::Node

YAML 解析樹中任何 Node 的基底類別。此類別不應實例化。

屬性

children[R]

此節點的子節點

end_column[RW]

此節點結束的欄號

end_line[RW]

此節點結束的行號

start_column[RW]

此節點開始的欄號

start_line[RW]

此節點開始的行號

tag[R]

關聯的標籤

公開類別方法

new() 按一下以切換來源

建立新的 Psych::Nodes::Node

# File ext/psych/lib/psych/nodes/node.rb, line 33
def initialize
  @children = []
end

公開實例方法

alias?() 按一下以切換來源
# File ext/psych/lib/psych/nodes/node.rb, line 67
def alias?;    false; end
document?() 按一下以切換來源
# File ext/psych/lib/psych/nodes/node.rb, line 68
def document?; false; end
each(&block) 按一下以切換來源

遍歷樹中的每個節點。將每個節點傳遞給 block 深度優先。

# File ext/psych/lib/psych/nodes/node.rb, line 40
def each &block
  return enum_for :each unless block_given?
  Visitors::DepthFirst.new(block).accept self
end
mapping?() 按一下以切換來源
# File ext/psych/lib/psych/nodes/node.rb, line 69
def mapping?;  false; end
scalar?() 按一下以切換來源
# File ext/psych/lib/psych/nodes/node.rb, line 70
def scalar?;   false; end
sequence?() 按一下以切換來源
# File ext/psych/lib/psych/nodes/node.rb, line 71
def sequence?; false; end
stream?() 按一下以切換來源
# File ext/psych/lib/psych/nodes/node.rb, line 72
def stream?;   false; end
to_ruby(symbolize_names: false, freeze: false, strict_integer: false) 按一下以切換來源

將此節點轉換為 Ruby。

另請參閱 Psych::Visitors::ToRuby

# File ext/psych/lib/psych/nodes/node.rb, line 49
def to_ruby(symbolize_names: false, freeze: false, strict_integer: false)
  Visitors::ToRuby.create(symbolize_names: symbolize_names, freeze: freeze, strict_integer: strict_integer).accept(self)
end
別名為:transform
to_yaml(io = nil, options = {})
別名為:yaml
transform(symbolize_names: false, freeze: false, strict_integer: false)
別名為:to_ruby
yaml(io = nil, options = {}) 按一下以切換來源

將此節點轉換為 YAML

另請參閱 Psych::Visitors::Emitter

# File ext/psych/lib/psych/nodes/node.rb, line 58
def yaml io = nil, options = {}
  real_io = io || StringIO.new(''.encode('utf-8'))

  Visitors::Emitter.new(real_io, options).accept self
  return real_io.string unless io
  io
end
別名為:to_yaml