class Ruby::Prism::MatchWriteNode
Represents writing local variables using a regular expression match with named capture groups.
/(?<foo>bar)/ =~ baz ^^^^^^^^^^^^^^^^^^^^
Public Class Methods
(Source source, Integer node_id, Location location, Integer flags, CallNode call, Array[LocalVariableTargetNode] targets) → void
Source
# File lib/ruby/prism/node.rb, line 23427 def initialize(source, node_id, location, flags, call, targets) @source = source @node_id = node_id @location = location @flags = flags @call = call @targets = targets end
Initialize a new MatchWriteNode node.
Public Instance Methods
() → CallNode
Source
# File lib/ruby/prism/node.rb, line 23532 def call @call end
Returns the call attribute.
# File lib/ruby/prism/node.rb, line 23542 def targets @targets end
Returns the targets attribute.
Node Interface
These methods are present on all subclasses of Node. Read the node interface docs for more information.
Public Class Methods
Public Instance Methods
(_Visitor visitor) → untyped
Source
# File lib/ruby/prism/node.rb, line 23450 def accept(visitor) visitor.visit_match_write_node(self) end
See Node.accept.
() → Array[node?]
Source
# File lib/ruby/prism/node.rb, line 23457 def child_nodes [call, *targets] end
See Node.child_nodes.
Also aliased as: deconstruct
() → Array[node]
Source
# File lib/ruby/prism/node.rb, line 23475 def compact_child_nodes [call, *targets] end
(?node_id: Integer, ?location: Location, ?flags: Integer, ?call: CallNode, ?targets: Array[LocalVariableTargetNode]) → MatchWriteNode
Source
# File lib/ruby/prism/node.rb, line 23485 def copy(node_id: self.node_id, location: self.location, flags: self.flags, call: self.call, targets: self.targets) MatchWriteNode.new(source, node_id, location, flags, call, targets) end
Creates a copy of self with the given fields, using self as the template.
() → Enumerator[node, void]
() { (node) → void } → void
Source
# File lib/ruby/prism/node.rb, line 23465 def each_child_node(&blk) return to_enum(:each_child_node) unless block_given? yield call targets.each { |node| yield node } end
See Node.each_child_node.
Repository
Methods related to Relocation.