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.
3840 3841 3842 3843 3844 3845 |
# File 'lib/syntax_tree/node.rb', line 3840 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
3838 3839 3840 |
# File 'lib/syntax_tree/node.rb', line 3838 def comments @comments end |
#left ⇒ Object (readonly)
- nil | untyped
-
the left side of the expression
3832 3833 3834 |
# File 'lib/syntax_tree/node.rb', line 3832 def left @left end |
#right ⇒ Object (readonly)
- nil | untyped
-
the right side of the expression
3835 3836 3837 |
# File 'lib/syntax_tree/node.rb', line 3835 def right @right end |
Instance Method Details
#accept(visitor) ⇒ Object
3847 3848 3849 |
# File 'lib/syntax_tree/node.rb', line 3847 def accept(visitor) visitor.visit_dot3(self) end |
#child_nodes ⇒ Object Also known as: deconstruct
3851 3852 3853 |
# File 'lib/syntax_tree/node.rb', line 3851 def child_nodes [left, right] end |
#deconstruct_keys(_keys) ⇒ Object
3857 3858 3859 |
# File 'lib/syntax_tree/node.rb', line 3857 def deconstruct_keys(_keys) { left: left, right: right, location: location, comments: comments } end |
#format(q) ⇒ Object
3861 3862 3863 |
# File 'lib/syntax_tree/node.rb', line 3861 def format(q) DotFormatter.new("...", self).format(q) end |