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
#construct_keys, #pretty_print, #to_json
Constructor Details
#initialize(left:, right:, location:, comments: []) ⇒ Dot3
Returns a new instance of Dot3.
3796 3797 3798 3799 3800 3801 |
# File 'lib/syntax_tree/node.rb', line 3796 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
3794 3795 3796 |
# File 'lib/syntax_tree/node.rb', line 3794 def comments @comments end |
#left ⇒ Object (readonly)
- nil | untyped
-
the left side of the expression
3788 3789 3790 |
# File 'lib/syntax_tree/node.rb', line 3788 def left @left end |
#right ⇒ Object (readonly)
- nil | untyped
-
the right side of the expression
3791 3792 3793 |
# File 'lib/syntax_tree/node.rb', line 3791 def right @right end |
Instance Method Details
#accept(visitor) ⇒ Object
3803 3804 3805 |
# File 'lib/syntax_tree/node.rb', line 3803 def accept(visitor) visitor.visit_dot3(self) end |
#child_nodes ⇒ Object Also known as: deconstruct
3807 3808 3809 |
# File 'lib/syntax_tree/node.rb', line 3807 def child_nodes [left, right] end |
#deconstruct_keys(_keys) ⇒ Object
3813 3814 3815 |
# File 'lib/syntax_tree/node.rb', line 3813 def deconstruct_keys(_keys) { left: left, right: right, location: location, comments: comments } end |
#format(q) ⇒ Object
3817 3818 3819 |
# File 'lib/syntax_tree/node.rb', line 3817 def format(q) DotFormatter.new("...", self).format(q) end |