class Prism::AssocNode
Repräsentiert ein Schlüssel/Wert-Paar eines Hashs.
{ a => b }
^^^^^^
Attribute
Der Schlüssel der Zuordnung. Dies kann jeder Nicht-leere Ausdruck sein.
{ a: b }
^
{ foo => bar }
^^^
{ def a; end => 1 }
^^^^^^^^^^
Der Wert der Zuordnung, falls vorhanden. Dies kann jeder Nicht-leere Ausdruck sein.
{ foo => bar }
^^^
{ x: 1 }
^
Öffentliche Klassenmethoden
Source
# File lib/prism/node.rb, line 1195 def initialize(source, node_id, location, flags, key, value, operator_loc) @source = source @node_id = node_id @location = location @flags = flags @key = key @value = value @operator_loc = operator_loc end
Initialisiert einen neuen AssocNode-Knoten.
Source
# File lib/prism/node.rb, line 1297 def self.type :assoc_node end
Gibt eine symbolische Darstellung dieses Knotentyps zurück. Siehe Node::type.
Öffentliche Instanzmethoden
Source
# File lib/prism/node.rb, line 1303 def ===(other) other.is_a?(AssocNode) && (key === other.key) && (value === other.value) && (operator_loc.nil? == other.operator_loc.nil?) end
Implementiert die Fallgleichheit für den Knoten. Dies ist effektiv ==, aber ohne den Wert von Standorten zu vergleichen. Standorte werden nur auf Anwesenheit geprüft.
Source
# File lib/prism/node.rb, line 1206 def accept(visitor) visitor.visit_assoc_node(self) end
def accept: (Visitor visitor) -> void
Source
# File lib/prism/node.rb, line 1211 def child_nodes [key, value] end
def child_nodes: () -> Array
Source
# File lib/prism/node.rb, line 1221 def comment_targets [key, value, *operator_loc] #: Array[Prism::node | Location] end
def comment_targets: () -> Array[Node | Location]
Source
# File lib/prism/node.rb, line 1216 def compact_child_nodes [key, value] end
def compact_child_nodes: () -> Array
Source
# File lib/prism/node.rb, line 1226 def copy(node_id: self.node_id, location: self.location, flags: self.flags, key: self.key, value: self.value, operator_loc: self.operator_loc) AssocNode.new(source, node_id, location, flags, key, value, operator_loc) end
Source
# File lib/prism/node.rb, line 1234 def deconstruct_keys(keys) { node_id: node_id, location: location, key: key, value: value, operator_loc: operator_loc } end
def deconstruct_keys: (Array keys) -> { node_id: Integer, location: Location, key: Prism::node, value: Prism::node, operator_loc: Location? }
Source
# File lib/prism/node.rb, line 1287 def inspect InspectVisitor.compose(self) end
def inspect -> String
Source
# File lib/prism/node.rb, line 1282 def operator operator_loc&.slice end
def operator: () -> String?
Source
# File lib/prism/node.rb, line 1263 def operator_loc location = @operator_loc case location when nil nil when Location location else @operator_loc = Location.new(source, location >> 32, location & 0xFFFFFFFF) end end
Der Speicherort des => Operators, falls vorhanden.
{ foo => bar }
^^
Source
# File lib/prism/node.rb, line 1277 def save_operator_loc(repository) repository.enter(node_id, :operator_loc) unless @operator_loc.nil? end
Speichert den Speicherort von operator_loc unter Verwendung der angegebenen gespeicherten Quelle, sodass er später abgerufen werden kann.