rbs 3.0.0.dev.2 → 3.0.0.dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +2 -1
  3. data/.github/workflows/ruby.yml +4 -0
  4. data/Gemfile.lock +11 -11
  5. data/Rakefile +2 -2
  6. data/Steepfile +1 -1
  7. data/core/array.rbs +573 -423
  8. data/core/basic_object.rbs +11 -39
  9. data/core/binding.rbs +1 -1
  10. data/core/builtin.rbs +8 -0
  11. data/core/class.rbs +37 -0
  12. data/core/comparable.rbs +7 -18
  13. data/core/complex.rbs +2 -2
  14. data/core/data.rbs +419 -0
  15. data/core/dir.rbs +52 -104
  16. data/core/encoding.rbs +22 -181
  17. data/core/enumerable.rbs +212 -175
  18. data/core/enumerator/product.rbs +96 -0
  19. data/core/enumerator.rbs +57 -8
  20. data/core/errors.rbs +8 -2
  21. data/core/exception.rbs +41 -0
  22. data/core/fiber.rbs +95 -12
  23. data/core/file.rbs +840 -275
  24. data/core/file_test.rbs +34 -19
  25. data/core/float.rbs +40 -96
  26. data/core/gc.rbs +15 -3
  27. data/core/hash.rbs +113 -175
  28. data/core/integer.rbs +85 -145
  29. data/core/io/buffer.rbs +187 -60
  30. data/core/io/wait.rbs +28 -16
  31. data/core/io.rbs +1859 -1389
  32. data/core/kernel.rbs +525 -961
  33. data/core/match_data.rbs +306 -142
  34. data/core/math.rbs +506 -234
  35. data/core/method.rbs +0 -24
  36. data/core/module.rbs +110 -17
  37. data/core/nil_class.rbs +2 -0
  38. data/core/numeric.rbs +76 -144
  39. data/core/object.rbs +88 -212
  40. data/core/proc.rbs +17 -5
  41. data/core/process.rbs +22 -5
  42. data/core/ractor.rbs +1 -1
  43. data/core/random.rbs +20 -3
  44. data/core/range.rbs +91 -89
  45. data/core/rational.rbs +2 -3
  46. data/core/rbs/unnamed/argf.rbs +177 -120
  47. data/core/rbs/unnamed/env_class.rbs +89 -163
  48. data/core/rbs/unnamed/random.rbs +36 -12
  49. data/core/refinement.rbs +8 -0
  50. data/core/regexp.rbs +462 -272
  51. data/core/ruby_vm.rbs +210 -0
  52. data/{stdlib/set/0 → core}/set.rbs +43 -47
  53. data/core/string.rbs +1403 -1332
  54. data/core/string_io.rbs +191 -107
  55. data/core/struct.rbs +67 -63
  56. data/core/symbol.rbs +187 -201
  57. data/core/thread.rbs +40 -35
  58. data/core/time.rbs +902 -826
  59. data/core/trace_point.rbs +55 -6
  60. data/core/unbound_method.rbs +48 -24
  61. data/docs/collection.md +4 -0
  62. data/docs/syntax.md +55 -0
  63. data/ext/rbs_extension/parser.c +5 -6
  64. data/lib/rbs/cli.rb +6 -1
  65. data/lib/rbs/collection/cleaner.rb +8 -1
  66. data/lib/rbs/collection/config/lockfile.rb +3 -1
  67. data/lib/rbs/collection/config/lockfile_generator.rb +16 -14
  68. data/lib/rbs/collection/config.rb +1 -1
  69. data/lib/rbs/collection/sources/git.rb +9 -2
  70. data/lib/rbs/collection/sources/local.rb +79 -0
  71. data/lib/rbs/collection/sources.rb +8 -1
  72. data/lib/rbs/environment.rb +6 -5
  73. data/lib/rbs/environment_loader.rb +3 -2
  74. data/lib/rbs/errors.rb +18 -0
  75. data/lib/rbs/locator.rb +26 -7
  76. data/lib/rbs/sorter.rb +2 -2
  77. data/lib/rbs/version.rb +1 -1
  78. data/sig/collection/sources.rbs +32 -3
  79. data/sig/environment.rbs +2 -3
  80. data/sig/locator.rbs +14 -2
  81. data/sig/shims/{abstract_syntax_tree.rbs → _abstract_syntax_tree.rbs} +0 -0
  82. data/stdlib/bigdecimal/0/big_decimal.rbs +16 -13
  83. data/stdlib/cgi/0/core.rbs +16 -0
  84. data/stdlib/coverage/0/coverage.rbs +50 -8
  85. data/stdlib/csv/0/csv.rbs +1 -1
  86. data/stdlib/date/0/date.rbs +856 -726
  87. data/stdlib/date/0/date_time.rbs +83 -210
  88. data/stdlib/erb/0/erb.rbs +13 -36
  89. data/stdlib/etc/0/etc.rbs +127 -20
  90. data/stdlib/fileutils/0/fileutils.rbs +1290 -381
  91. data/stdlib/logger/0/logger.rbs +466 -316
  92. data/stdlib/net-http/0/net-http.rbs +2211 -534
  93. data/stdlib/nkf/0/nkf.rbs +5 -5
  94. data/stdlib/objspace/0/objspace.rbs +31 -14
  95. data/stdlib/openssl/0/openssl.rbs +11 -7
  96. data/stdlib/optparse/0/optparse.rbs +20 -17
  97. data/stdlib/pathname/0/pathname.rbs +21 -4
  98. data/stdlib/pstore/0/pstore.rbs +378 -154
  99. data/stdlib/pty/0/pty.rbs +24 -8
  100. data/stdlib/ripper/0/ripper.rbs +1650 -0
  101. data/stdlib/socket/0/addrinfo.rbs +9 -15
  102. data/stdlib/socket/0/socket.rbs +36 -3
  103. data/stdlib/strscan/0/string_scanner.rbs +7 -5
  104. data/stdlib/tempfile/0/tempfile.rbs +104 -44
  105. data/stdlib/time/0/time.rbs +2 -2
  106. data/stdlib/uri/0/file.rbs +5 -0
  107. data/stdlib/uri/0/generic.rbs +2 -2
  108. data/stdlib/yaml/0/yaml.rbs +2 -2
  109. data/stdlib/zlib/0/zlib.rbs +1 -1
  110. metadata +8 -6
  111. data/core/deprecated.rbs +0 -9
  112. data/sig/shims/ripper.rbs +0 -8
data/core/ruby_vm.rbs CHANGED
@@ -51,3 +51,213 @@ RubyVM::OPTS: Array[String]
51
51
  #
52
52
  class RubyVM::InstructionSequence < Object
53
53
  end
54
+
55
+ # <!-- rdoc-file=ast.rb -->
56
+ # AbstractSyntaxTree provides methods to parse Ruby code into abstract syntax
57
+ # trees. The nodes in the tree are instances of
58
+ # RubyVM::AbstractSyntaxTree::Node.
59
+ #
60
+ # This module is MRI specific as it exposes implementation details of the MRI
61
+ # abstract syntax tree.
62
+ #
63
+ # This module is experimental and its API is not stable, therefore it might
64
+ # change without notice. As examples, the order of children nodes is not
65
+ # guaranteed, the number of children nodes might change, there is no way to
66
+ # access children nodes by name, etc.
67
+ #
68
+ # If you are looking for a stable API or an API working under multiple Ruby
69
+ # implementations, consider using the *parser* gem or Ripper. If you would like
70
+ # to make RubyVM::AbstractSyntaxTree stable, please join the discussion at
71
+ # https://bugs.ruby-lang.org/issues/14844.
72
+ #
73
+ module RubyVM::AbstractSyntaxTree
74
+ # <!--
75
+ # rdoc-file=ast.rb
76
+ # - RubyVM::AbstractSyntaxTree.parse(string, keep_script_lines: false, error_tolerant: false, keep_tokens: false) -> RubyVM::AbstractSyntaxTree::Node
77
+ # -->
78
+ # Parses the given *string* into an abstract syntax tree, returning the root
79
+ # node of that tree.
80
+ #
81
+ # RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
82
+ # # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:9>
83
+ #
84
+ # If `keep_script_lines: true` option is provided, the text of the parsed source
85
+ # is associated with nodes and is available via Node#script_lines.
86
+ #
87
+ # If `keep_tokens: true` option is provided, Node#tokens are populated.
88
+ #
89
+ # SyntaxError is raised if the given *string* is invalid syntax. To overwrite
90
+ # this behavior, `error_tolerant: true` can be provided. In this case, the
91
+ # parser will produce a tree where expressions with syntax errors would be
92
+ # represented by Node with `type=:ERROR`.
93
+ #
94
+ # root = RubyVM::AbstractSyntaxTree.parse("x = 1; p(x; y=2")
95
+ # # <internal:ast>:33:in `parse': syntax error, unexpected ';', expecting ')' (SyntaxError)
96
+ # # x = 1; p(x; y=2
97
+ # # ^
98
+ #
99
+ # root = RubyVM::AbstractSyntaxTree.parse("x = 1; p(x; y=2", error_tolerant: true)
100
+ # # (SCOPE@1:0-1:15
101
+ # # tbl: [:x, :y]
102
+ # # args: nil
103
+ # # body: (BLOCK@1:0-1:15 (LASGN@1:0-1:5 :x (LIT@1:4-1:5 1)) (ERROR@1:7-1:11) (LASGN@1:12-1:15 :y (LIT@1:14-1:15 2))))
104
+ # root.children.last.children
105
+ # # [(LASGN@1:0-1:5 :x (LIT@1:4-1:5 1)),
106
+ # # (ERROR@1:7-1:11),
107
+ # # (LASGN@1:12-1:15 :y (LIT@1:14-1:15 2))]
108
+ #
109
+ # Note that parsing continues even after the errored expresion.
110
+ #
111
+ def self.parse: (String string, ?keep_script_lines: bool, ?error_tolerant: bool, ?keep_tokens: bool) -> Node
112
+
113
+ # <!--
114
+ # rdoc-file=ast.rb
115
+ # - RubyVM::AbstractSyntaxTree.parse_file(pathname, keep_script_lines: false, error_tolerant: false, keep_tokens: false) -> RubyVM::AbstractSyntaxTree::Node
116
+ # -->
117
+ # Reads the file from *pathname*, then parses it like ::parse, returning the
118
+ # root node of the abstract syntax tree.
119
+ #
120
+ # SyntaxError is raised if *pathname*'s contents are not valid Ruby syntax.
121
+ #
122
+ # RubyVM::AbstractSyntaxTree.parse_file("my-app/app.rb")
123
+ # # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-31:3>
124
+ #
125
+ # See ::parse for explanation of keyword argument meaning and usage.
126
+ #
127
+ def self.parse_file: (String | ::_ToPath string, ?keep_script_lines: bool, ?error_tolerant: bool, ?keep_tokens: bool) -> Node
128
+
129
+ # <!--
130
+ # rdoc-file=ast.rb
131
+ # - RubyVM::AbstractSyntaxTree.of(proc, keep_script_lines: false, error_tolerant: false, keep_tokens: false) -> RubyVM::AbstractSyntaxTree::Node
132
+ # - RubyVM::AbstractSyntaxTree.of(method, keep_script_lines: false, error_tolerant: false, keep_tokens: false) -> RubyVM::AbstractSyntaxTree::Node
133
+ # -->
134
+ # Returns AST nodes of the given *proc* or *method*.
135
+ #
136
+ # RubyVM::AbstractSyntaxTree.of(proc {1 + 2})
137
+ # # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:35-1:42>
138
+ #
139
+ # def hello
140
+ # puts "hello, world"
141
+ # end
142
+ #
143
+ # RubyVM::AbstractSyntaxTree.of(method(:hello))
144
+ # # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-3:3>
145
+ #
146
+ # See ::parse for explanation of keyword argument meaning and usage.
147
+ #
148
+ def self.of: (Proc | Method | UnboundMethod body, ?keep_script_lines: bool, ?error_tolerant: bool, ?keep_tokens: bool) -> Node?
149
+
150
+ # <!--
151
+ # rdoc-file=ast.rb
152
+ # - RubyVM::AbstractSyntaxTree.node_id_for_backtrace_location(backtrace_location) -> integer
153
+ # -->
154
+ # Returns the node id for the given backtrace location.
155
+ #
156
+ # begin
157
+ # raise
158
+ # rescue => e
159
+ # loc = e.backtrace_locations.first
160
+ # RubyVM::AbstractSyntaxTree.node_id_for_backtrace_location(loc)
161
+ # end # => 0
162
+ #
163
+ def self.node_id_for_backtrace_location: (Thread::Backtrace::Location backtrace_location) -> Integer
164
+
165
+ # <!-- rdoc-file=ast.rb -->
166
+ # RubyVM::AbstractSyntaxTree::Node instances are created by parse methods in
167
+ # RubyVM::AbstractSyntaxTree.
168
+ #
169
+ # This class is MRI specific.
170
+ #
171
+ class Node
172
+ # <!--
173
+ # rdoc-file=ast.rb
174
+ # - node.type -> symbol
175
+ # -->
176
+ # Returns the type of this node as a symbol.
177
+ #
178
+ # root = RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
179
+ # root.type # => :SCOPE
180
+ # lasgn = root.children[2]
181
+ # lasgn.type # => :LASGN
182
+ # call = lasgn.children[1]
183
+ # call.type # => :OPCALL
184
+ #
185
+ def type: () -> Symbol
186
+
187
+ # <!--
188
+ # rdoc-file=ast.rb
189
+ # - node.first_lineno -> integer
190
+ # -->
191
+ # The line number in the source code where this AST's text began.
192
+ #
193
+ def first_lineno: () -> Integer
194
+
195
+ # <!--
196
+ # rdoc-file=ast.rb
197
+ # - node.first_column -> integer
198
+ # -->
199
+ # The column number in the source code where this AST's text began.
200
+ #
201
+ def first_column: () -> Integer
202
+
203
+ # <!--
204
+ # rdoc-file=ast.rb
205
+ # - node.last_lineno -> integer
206
+ # -->
207
+ # The line number in the source code where this AST's text ended.
208
+ #
209
+ def last_lineno: () -> Integer
210
+
211
+ # <!--
212
+ # rdoc-file=ast.rb
213
+ # - node.last_column -> integer
214
+ # -->
215
+ # The column number in the source code where this AST's text ended.
216
+ #
217
+ def last_column: () -> Integer
218
+
219
+ # <!--
220
+ # rdoc-file=ast.rb
221
+ # - node.tokens -> array
222
+ # -->
223
+ # Returns tokens corresponding to the location of the node. Returns `nil` if
224
+ # `keep_tokens` is not enabled when #parse method is called.
225
+ #
226
+ # root = RubyVM::AbstractSyntaxTree.parse("x = 1 + 2", keep_tokens: true)
227
+ # root.tokens # => [[0, :tIDENTIFIER, "x", [1, 0, 1, 1]], [1, :tSP, " ", [1, 1, 1, 2]], ...]
228
+ # root.tokens.map{_1[2]}.join # => "x = 1 + 2"
229
+ #
230
+ # Token is an array of:
231
+ #
232
+ # * id
233
+ # * token type
234
+ # * source code text
235
+ # * location [ first_lineno, first_column, last_lineno, last_column ]
236
+ #
237
+ def tokens: () -> Array[[Integer, Symbol, String, [Integer, Integer, Integer, Integer]]]?
238
+
239
+ # <!--
240
+ # rdoc-file=ast.rb
241
+ # - node.all_tokens -> array
242
+ # -->
243
+ # Returns all tokens for the input script regardless the receiver node. Returns
244
+ # `nil` if `keep_tokens` is not enabled when #parse method is called.
245
+ #
246
+ # root = RubyVM::AbstractSyntaxTree.parse("x = 1 + 2", keep_tokens: true)
247
+ # root.all_tokens # => [[0, :tIDENTIFIER, "x", [1, 0, 1, 1]], [1, :tSP, " ", [1, 1, 1, 2]], ...]
248
+ # root.children[-1].all_tokens # => [[0, :tIDENTIFIER, "x", [1, 0, 1, 1]], [1, :tSP, " ", [1, 1, 1, 2]], ...]
249
+ #
250
+ def all_tokens: () -> Array[[Integer, Symbol, String, [Integer, Integer, Integer, Integer]]]?
251
+
252
+ # <!--
253
+ # rdoc-file=ast.rb
254
+ # - node.children -> array
255
+ # -->
256
+ # Returns AST nodes under this one. Each kind of node has different children,
257
+ # depending on what kind of node it is.
258
+ #
259
+ # The returned array may contain other nodes or `nil`.
260
+ #
261
+ def children: () -> Array[untyped]
262
+ end
263
+ end
@@ -40,12 +40,8 @@
40
40
  #
41
41
  # ## What's Here
42
42
  # First, what's elsewhere. Class Set:
43
- # * Inherits from [class
44
- # Object](https://docs.ruby-lang.org/en/master/Object.html#class-Object-labe
45
- # l-What-27s+Here).
46
- # * Includes [module
47
- # which provides dozens of additional
48
- # g/en/master/Enumerable.html#module-Enumerable-label-What-27s+Here),
43
+ # * Inherits from [class Object](rdoc-ref:Object@What-27s+Here).
44
+ # * Includes [module Enumerable](rdoc-ref:Enumerable@What-27s+Here),
49
45
  # which provides dozens of additional methods.
50
46
  #
51
47
  # In particular, class Set does not have many methods of its own
@@ -63,126 +59,126 @@
63
59
  # * [And more....](#class-Set-label-Other+Methods)
64
60
  #
65
61
  # ### Methods for Creating a Set
66
- # * ::[] -
62
+ # * ::[]:
67
63
  # Returns a new set containing the given objects.
68
- # * ::new -
64
+ # * ::new:
69
65
  # Returns a new set containing either the given objects
70
66
  # (if no block given) or the return values from the called block
71
67
  # (if a block given).
72
68
  #
73
69
  # ### Methods for Set Operations
74
- # * [|](#method-i-7C) (aliased as #union and #+) -
70
+ # * [|](#method-i-7C) (aliased as #union and #+):
75
71
  # Returns a new set containing all elements from `self`
76
72
  # and all elements from a given enumerable (no duplicates).
77
- # * [&](#method-i-26) (aliased as #intersection) -
73
+ # * [&](#method-i-26) (aliased as #intersection):
78
74
  # Returns a new set containing all elements common to `self`
79
75
  # and a given enumerable.
80
- # * [-](#method-i-2D) (aliased as #difference) -
76
+ # * [-](#method-i-2D) (aliased as #difference):
81
77
  # Returns a copy of `self` with all elements
82
78
  # in a given enumerable removed.
83
- # * [\^](#method-i-5E) -
79
+ # * [\^](#method-i-5E):
84
80
  # Returns a new set containing all elements from `self`
85
81
  # and a given enumerable except those common to both.
86
82
  #
87
83
  # ### Methods for Comparing
88
- # * [<=>](#method-i-3C-3D-3E) -
84
+ # * [<=>](#method-i-3C-3D-3E):
89
85
  # Returns -1, 0, or 1 as `self` is less than, equal to,
90
86
  # or greater than a given object.
91
- # * [==](#method-i-3D-3D) -
87
+ # * [==](#method-i-3D-3D):
92
88
  # Returns whether `self` and a given enumerable are equal,
93
89
  # as determined by Object#eql?.
94
- # * #compare_by_identity? -
90
+ # * #compare_by_identity?:
95
91
  # Returns whether the set considers only identity
96
92
  # when comparing elements.
97
93
  #
98
94
  # ### Methods for Querying
99
- # * #length (aliased as #size) -
95
+ # * #length (aliased as #size):
100
96
  # Returns the count of elements.
101
- # * #empty? -
97
+ # * #empty?:
102
98
  # Returns whether the set has no elements.
103
- # * #include? (aliased as #member? and #===) -
99
+ # * #include? (aliased as #member? and #===):
104
100
  # Returns whether a given object is an element in the set.
105
- # * #subset? (aliased as [<=](#method-i-3C-3D)) -
101
+ # * #subset? (aliased as [<=](#method-i-3C-3D)):
106
102
  # Returns whether a given object is a subset of the set.
107
- # * #proper_subset? (aliased as [<](#method-i-3C)) -
103
+ # * #proper_subset? (aliased as [<](#method-i-3C)):
108
104
  # Returns whether a given enumerable is a proper subset of the set.
109
- # * #superset? (aliased as [<=](#method-i-3E-3D)]) -
105
+ # * #superset? (aliased as [>=](#method-i-3E-3D)]):
110
106
  # Returns whether a given enumerable is a superset of the set.
111
- # * #proper_superset? (aliased as [>](#method-i-3E)) -
107
+ # * #proper_superset? (aliased as [>](#method-i-3E)):
112
108
  # Returns whether a given enumerable is a proper superset of the set.
113
- # * #disjoint? -
109
+ # * #disjoint?:
114
110
  # Returns `true` if the set and a given enumerable
115
111
  # have no common elements, `false` otherwise.
116
- # * #intersect? -
117
- # Returns `true` if the set and a given enumerable -
112
+ # * #intersect?:
113
+ # Returns `true` if the set and a given enumerable:
118
114
  # have any common elements, `false` otherwise.
119
- # * #compare_by_identity? -
115
+ # * #compare_by_identity?:
120
116
  # Returns whether the set considers only identity
121
117
  # when comparing elements.
122
118
  #
123
119
  # ### Methods for Assigning
124
- # * #add (aliased as #<<) -
120
+ # * #add (aliased as #<<):
125
121
  # Adds a given object to the set; returns `self`.
126
- # * #add? -
122
+ # * #add?:
127
123
  # If the given object is not an element in the set,
128
124
  # adds it and returns `self`; otherwise, returns `nil`.
129
- # * #merge -
125
+ # * #merge:
130
126
  # Adds each given object to the set; returns `self`.
131
- # * #replace -
127
+ # * #replace:
132
128
  # Replaces the contents of the set with the contents
133
129
  # of a given enumerable.
134
130
  #
135
131
  # ### Methods for Deleting
136
- # * #clear -
132
+ # * #clear:
137
133
  # Removes all elements in the set; returns `self`.
138
- # * #delete -
134
+ # * #delete:
139
135
  # Removes a given object from the set; returns `self`.
140
- # * #delete? -
136
+ # * #delete?:
141
137
  # If the given object is an element in the set,
142
138
  # removes it and returns `self`; otherwise, returns `nil`.
143
- # * #subtract -
139
+ # * #subtract:
144
140
  # Removes each given object from the set; returns `self`.
145
141
  # * #delete_if - Removes elements specified by a given block.
146
- # * #select! (aliased as #filter!) -
142
+ # * #select! (aliased as #filter!):
147
143
  # Removes elements not specified by a given block.
148
- # * #keep_if -
144
+ # * #keep_if:
149
145
  # Removes elements not specified by a given block.
150
146
  # * #reject!
151
147
  # Removes elements specified by a given block.
152
148
  #
153
149
  # ### Methods for Converting
154
- # * #classify -
150
+ # * #classify:
155
151
  # Returns a hash that classifies the elements,
156
152
  # as determined by the given block.
157
- # * #collect! (aliased as #map!) -
153
+ # * #collect! (aliased as #map!):
158
154
  # Replaces each element with a block return-value.
159
- # * #divide -
155
+ # * #divide:
160
156
  # Returns a hash that classifies the elements,
161
157
  # as determined by the given block;
162
158
  # differs from #classify in that the block may accept
163
159
  # either one or two arguments.
164
- # * #flatten -
160
+ # * #flatten:
165
161
  # Returns a new set that is a recursive flattening of `self`.
166
- # #flatten! -
162
+ # #flatten!:
167
163
  # Replaces each nested set in `self` with the elements from that set.
168
- # * #inspect (aliased as #to_s) -
164
+ # * #inspect (aliased as #to_s):
169
165
  # Returns a string displaying the elements.
170
- # * #join -
166
+ # * #join:
171
167
  # Returns a string containing all elements, converted to strings
172
168
  # as needed, and joined by the given record separator.
173
- # * #to_a -
169
+ # * #to_a:
174
170
  # Returns an array containing all set elements.
175
- # * #to_set -
171
+ # * #to_set:
176
172
  # Returns `self` if given no arguments and no block;
177
173
  # with a block given, returns a new set consisting of block
178
174
  # return values.
179
175
  #
180
176
  # ### Methods for Iterating
181
- # * #each -
177
+ # * #each:
182
178
  # Calls the block with each successive element; returns `self`.
183
179
  #
184
180
  # ### Other Methods
185
- # * #reset -
181
+ # * #reset:
186
182
  # Resets the internal state; useful if an object
187
183
  # has been modified while an element in the set.
188
184
  #