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.
3829 3830 3831 3832 3833 3834 |
# File 'lib/syntax_tree/node.rb', line 3829 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
3827 3828 3829 |
# File 'lib/syntax_tree/node.rb', line 3827 def comments @comments end |
#left ⇒ Object (readonly)
- nil | untyped
-
the left side of the expression
3821 3822 3823 |
# File 'lib/syntax_tree/node.rb', line 3821 def left @left end |
#right ⇒ Object (readonly)
- nil | untyped
-
the right side of the expression
3824 3825 3826 |
# File 'lib/syntax_tree/node.rb', line 3824 def right @right end |
Instance Method Details
#accept(visitor) ⇒ Object
3836 3837 3838 |
# File 'lib/syntax_tree/node.rb', line 3836 def accept(visitor) visitor.visit_dot3(self) end |
#child_nodes ⇒ Object Also known as: deconstruct
3840 3841 3842 |
# File 'lib/syntax_tree/node.rb', line 3840 def child_nodes [left, right] end |
#deconstruct_keys(_keys) ⇒ Object
3846 3847 3848 |
# File 'lib/syntax_tree/node.rb', line 3846 def deconstruct_keys(_keys) { left: left, right: right, location: location, comments: comments } end |
#format(q) ⇒ Object
3850 3851 3852 |
# File 'lib/syntax_tree/node.rb', line 3850 def format(q) DotFormatter.new("...", self).format(q) end |