Class: SyntaxTree::Dot3
Overview
Dot3 represents using the … operator between two expressions. Usually this is to create a range object. It’s effectively the same event as the Dot2 node but with this operator you’re asking Ruby to omit the final value.
1...2
Like Dot2 it can also be used to create a flip-flop.
if value == 5 ... value == 10
end
One of the sides of the expression may be nil, but not both.
Instance Attribute Summary collapse
-
#comments ⇒ Object
readonly
- Array[ Comment | EmbDoc ]
-
the comments attached to this node.
-
#left ⇒ Object
readonly
- nil | untyped
-
the left side of the expression.
-
#right ⇒ Object
readonly
- nil | untyped
-
the right side of the expression.
Attributes inherited from Node
Instance Method Summary collapse
- #accept(visitor) ⇒ Object
- #child_nodes ⇒ Object (also: #deconstruct)
- #deconstruct_keys(keys) ⇒ Object
- #format(q) ⇒ Object
-
#initialize(left:, right:, location:, comments: []) ⇒ Dot3
constructor
A new instance of Dot3.
Methods inherited from Node
Constructor Details
#initialize(left:, right:, location:, comments: []) ⇒ Dot3
Returns a new instance of Dot3.
3763 3764 3765 3766 3767 3768 |
# File 'lib/syntax_tree/node.rb', line 3763 def initialize(left:, right:, location:, comments: []) @left = left @right = right @location = location @comments = comments end |
Instance Attribute Details
#comments ⇒ Object (readonly)
- Array[ Comment | EmbDoc ]
-
the comments attached to this node
3761 3762 3763 |
# File 'lib/syntax_tree/node.rb', line 3761 def comments @comments end |
#left ⇒ Object (readonly)
- nil | untyped
-
the left side of the expression
3755 3756 3757 |
# File 'lib/syntax_tree/node.rb', line 3755 def left @left end |
#right ⇒ Object (readonly)
- nil | untyped
-
the right side of the expression
3758 3759 3760 |
# File 'lib/syntax_tree/node.rb', line 3758 def right @right end |
Instance Method Details
#accept(visitor) ⇒ Object
3770 3771 3772 |
# File 'lib/syntax_tree/node.rb', line 3770 def accept(visitor) visitor.visit_dot3(self) end |
#child_nodes ⇒ Object Also known as: deconstruct
3774 3775 3776 |
# File 'lib/syntax_tree/node.rb', line 3774 def child_nodes [left, right] end |
#deconstruct_keys(keys) ⇒ Object
3780 3781 3782 |
# File 'lib/syntax_tree/node.rb', line 3780 def deconstruct_keys(keys) { left: left, right: right, location: location, comments: comments } end |
#format(q) ⇒ Object
3784 3785 3786 |
# File 'lib/syntax_tree/node.rb', line 3784 def format(q) DotFormatter.new("...", self).format(q) end |