Represents an ‘else` clause in a `case`, `if`, or `unless` statement.
if a then b else c end ^^^^^^^^^^
Represents an ‘ensure` clause in a `begin` statement.
begin foo ensure ^^^^^^ bar end
Represents a find pattern in pattern matching.
foo in *bar, baz, *qux ^^^^^^^^^^^^^^^ foo in [*bar, baz, *qux] ^^^^^^^^^^^^^^^^^ foo in Foo(*bar, baz, *qux) ^^^^^^^^^^^^^^^^^^^^
Represents the use of the ‘..` or `…` operators to create flip flops.
baz if foo .. bar ^^^^^^^^^^
Represents forwarding all arguments to this method to another method.
def foo(...) bar(...) ^^^ end
Represents the use of the forwarding parameter in a method, block, or lambda declaration.
def foo(...) ^^^ end
Represents the use of the ‘super` keyword without parentheses or arguments.
super ^^^^^
Represents a hash pattern in pattern matching.
foo => { a: 1, b: 2 } ^^^^^^^^^^^^^^ foo => { a: 1, b: 2, **c } ^^^^^^^^^^^^^^^^^^^
Represents the use of the ‘if` keyword, either in the block form or the modifier form, or a ternary expression.
bar if foo ^^^^^^^^^^ if foo then bar end ^^^^^^^^^^^^^^^^^^^ foo ? bar : baz ^^^^^^^^^^^^^^^
Represents a node that is implicitly being added to the tree but doesn’t correspond directly to a node in the source.
{ foo: } ^^^^ { Foo: } ^^^^ foo in { bar: } ^^^^
Represents using a trailing comma to indicate an implicit rest parameter.
foo { |bar,| } ^ foo in [bar,] ^ for foo, in bar do end ^ foo, = bar ^
Represents the use of the ‘in` keyword in a case statement.
case a; in b then c end ^^^^^^^^^^^
Represents the use of the ‘&&=` operator on a call to the `[]` method.
foo.bar[baz] &&= value ^^^^^^^^^^^^^^^^^^^^^^
Represents the use of an assignment operator on a call to ‘[]`.
foo.bar[baz] += value ^^^^^^^^^^^^^^^^^^^^^
Represents the use of the ‘||=` operator on a call to `[]`.
foo.bar[baz] ||= value ^^^^^^^^^^^^^^^^^^^^^^
Represents assigning to an index.
foo[bar], = 1 ^^^^^^^^ begin rescue => foo[bar] ^^^^^^^^ end for foo[bar] in baz do end ^^^^^^^^