Skip to content
On this page

Maintenance Ruby 3.4 gets fixes, but no new features. Switch to Ruby 4.0 →

class · Ruby 3.4

Prism::LocalVariableReadNode

< Prism::Node 10 instance methods 2 class methods

Represents reading a local variable. Note that this requires that a local variable of the same name has already been written to in the same scope, otherwise it is parsed as a method call.

foo
^^^

Class methods 2

Instance methods 10

Attributes
Read

The number of visible scopes that should be searched to find the origin of this local variable.

Example
foo = 1; foo # depth 0

bar = 2; tap { bar } # depth 1

The specific rules for calculating the depth may differ from individual Ruby implementations, as they are not specified by the language. For more information, see [the Prism documentation](github.com/ruby/prism/blob/main/docs/local_variable_depth.md).

Read

The name of the local variable, which is an [identifier](github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers).

Example
x      # name `:x`

_Test  # name `:_Test`

Note that this can also be an underscore followed by a number for the default block parameters.

Example
_1     # name `:_1`