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