class Prism::LocalVariableReadNode
Repräsentiert das Lesen einer lokalen Variable. Beachten Sie, dass dies erfordert, dass eine lokale Variable mit demselben Namen bereits im selben Geltungsbereich geschrieben wurde, andernfalls wird sie als Methodenaufruf analysiert.
foo ^^^
Attribute
Die Anzahl der sichtbaren Geltungsbereiche, die durchsucht werden sollen, um den Ursprung dieser lokalen Variable zu finden.
foo = 1; foo # depth 0 bar = 2; tap { bar } # depth 1
Die spezifischen Regeln zur Berechnung der Tiefe können sich von einzelnen Ruby-Implementierungen unterscheiden, da sie nicht von der Sprache spezifiziert sind. Weitere Informationen finden Sie unter der Prism-Dokumentation.
Der Name der lokalen Variable, der ein Identifikator ist.
x # name `:x` _Test # name `:_Test`
Beachten Sie, dass dies auch ein Unterstrich gefolgt von einer Zahl für die Standard-Blockparameter sein kann.
_1 # name `:_1`
Öffentliche Klassenmethoden
Source
# File lib/prism/node.rb, line 12176 def initialize(source, node_id, location, flags, name, depth) @source = source @node_id = node_id @location = location @flags = flags @name = name @depth = depth end
Initialisiert einen neuen LocalVariableReadNode-Knoten.
Source
# File lib/prism/node.rb, line 12249 def self.type :local_variable_read_node end
Gibt eine symbolische Darstellung dieses Knotentyps zurück. Siehe Node::type.
Öffentliche Instanzmethoden
Source
# File lib/prism/node.rb, line 12255 def ===(other) other.is_a?(LocalVariableReadNode) && (name === other.name) && (depth === other.depth) 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 12186 def accept(visitor) visitor.visit_local_variable_read_node(self) end
def accept: (Visitor visitor) -> void
Source
# File lib/prism/node.rb, line 12191 def child_nodes [] end
def child_nodes: () -> Array
Source
# File lib/prism/node.rb, line 12201 def comment_targets [] #: Array[Prism::node | Location] end
def comment_targets: () -> Array[Node | Location]
Source
# File lib/prism/node.rb, line 12196 def compact_child_nodes [] end
def compact_child_nodes: () -> Array
Source
# File lib/prism/node.rb, line 12206 def copy(node_id: self.node_id, location: self.location, flags: self.flags, name: self.name, depth: self.depth) LocalVariableReadNode.new(source, node_id, location, flags, name, depth) end
Source
# File lib/prism/node.rb, line 12214 def deconstruct_keys(keys) { node_id: node_id, location: location, name: name, depth: depth } end
Source
# File lib/prism/node.rb, line 12239 def inspect InspectVisitor.compose(self) end
def inspect -> String