ruby picture

Welcome to RCRchive

Reading and using RCRchive

For more information, see the RCR help center.

As a visitor to RCRchive, you may read the RCRs and the comments.

If you have registered at RCRchive, you may now sign in below. If you have not registered, you may sign up for a username and password. Registering enables you to submit new RCRs, and vote and leave comments on existing RCRs.
Your username:
Your password:

RCRs

Scroll down to browse all of them, or go directly to:

You can also browse a list of all RCRs, in various orders (numerical by default).

Also available, and still relevant though stored differently, are the

For reference, you can also browse the the obsolete legacy RCRs from Ruby Garden. Matz has asked that the authors of these RCRs resubmit them in the new format if still interested.

Pending RCRs

Number Title Author Supersedes
351 More compatibility between Array and Set CyberGarp
350 Make Kernel#caller return Array of Structs fryedpeach
349 Complete removal of "protected" visibility from Ruby Tomasz Wegrzanowski
348 Hash#to_h transami
347 object_class transami
346 Clarification of Module#included_modules rdenatale
345 Make Ruby 2 standard libraries use Symbols in place of C-sty Tomasz Wegrzanowski
343 Make class constants less cumbersome Ondrej Bilka
341 Let Kernel#require take multiple arguments rixxon
340 Approximate comparison of floats timpease
338 Replace csv.rb in 1.9+ with FasterCSV code JEG2
336 Allow rescue, else, and ensure clauses on do/end blocks Daniel Schierbeck
333 An IO.write to match IO.read cyent
332 mmap'd version of IO.scan( file_name, regexp) cyent
331 Remove 'true' parameter from #attr transami
330 A way to export symbols from binary extensions Vince
329 Proc.call_in or similar functionality to call a block in a g cryo
328 Provide Kernel method for platform-agnostic script launching headius
324 require_relative itsme213
323 Object Graph Traversal in Standard Lib Robert
322 Use log identities to improve BigMath::log performance leonardr
321 Aspect Oriented Programming for Ruby transami
320 Extend Rational to interoperate better with floats dburt
318 easy way(s) to make a duck eric_mahurin
314 concise expression debug/trace method eric_mahurin
313 rjust, ljust, center split on seperator transami
309 __DIR__ transami
307 Allow attributes to take arguments for assignment eric_mahurin
306 include rbtree in the stdlib martindemello
305 return nil from simple object loops eric_mahurin
302 Rounding Accuracy transami
301 Dynamic module includes gmosx
298 Blocks as first class values marian
297 Warn about use of ++ and -- aredridel
296 Destructive methods return self damelang
294 Array#interpolate neoneye
293 Easy definition of key and sort attributes of a class Robert
292 (Unbound)Method#origin and #name and Method#target flgr
291 Consistent *splat and "," for calls, returns, and assignment itsme213
289 Method to import a source file wrapped in a named module muir
287 Ruby Threads kalaky
286 Multiple Ensure Blocks Graham Jenkins
282 Add Comparable#bound_by flgr
280 Unified type conversion framework grenzi
279 User defined % literals petertje
278 Hash#collect_to_hash method Zallus
277 Make def return something useful djberg96
276 Make String#scan, #gsub, and #sub yield MatchData objects austin
272 ignoring raise exceptions (supressing all errors) mig 271
270 Add clamp(), modulo(), rand() methods to Range Nick Johnson
268 String.natcmp patsplat
265 Readable/Writeable modules IO, StringIO etc. mneumann
261 introducing Hash-like mixin grenzi
259 add begin= and end= to Range tobi
258 supply hash to Regexp.new neoneye
256 Rename Kernel#binding batkins
255 Add trace info to Kernel#p batkins
254 Latent object instantiation mig
252 Reverting the change in lookup of constants chneukirchen
250 absolute __FILE__ neoneye
249 Object#self itsme213
245 zip's broken metaphor neoneye
244 Limit recursion depth of Array#flatten matthias_georgi
241 in operator hal9000
240 avoid asymmetry of extend_object/append_features neoneye
239 Module#not_redefining, #redefining, #not_redefinable itsme213
238 Remove set methods from Array kgergely
236 anArray.rekursive_index Icekiss 235
234 Uniform meta-access while parsing Ruby code (replaces RCR 22 itsme213
233 pathname literal and builtin pathname class akr
232 string interpolation without concatination akr
231 Kernel#singleton_class dblack
227 Make blocks default to zero arguments eeklund
226 Named Return Arguments chemdog
222 Add bitwise AND/XOR/OR/NOT for String David Garamond
219 add Kernel.warn!() for warnings with backtraces discordantus
215 Object#pretty ahoward 214
213 Extended Access to the DATA Pseudo-File austin
211 Normalize filenames before requiring them Paul Brannan
209 Add find_header to mkmf chemdog
206 Make popen3 raise an exception on failure Paul Brannan
204 Negative arg for Array#first and flgr
203 Make debug mode easier to find robertc
202 Attach arbitrary data to methods defined in extensions Paul Brannan
198 Publish/Subscribe Method Visibility minam 189
197 ri should be accesible thru irb gga
196 Add trace_func accessor to ruby Paul Brannan
194 adding notation for complex numbers discordantus
188 Remove whitespace before here doc contents Paul Brannan
180 Warning framework Paul Brannan
179 Create a 'NoMatchData' object on Regex match failing. cyent
177 linking object : mapping on object from an other bille2
176 Extend resolv.rb danielhobe
175 Provide Ruby interface to error_print() Paul Brannan

Accepted RCRs

See also the accepted RCRs from Ruby Garden.

Number Title Author
344 Implement Hash#hash Eludias
342 Symbol should be Comparable Tomasz Wegrzanowski
337 Integer#odd?, #even? Vince
316 arguments after a splat in a method call eric_mahurin
315 allow required arguments after optional arguments eric_mahurin
284 Let Array#index take a block flgr
281 Add String#chars flgr
260 Make 'Rational' a built-in class Gavin Sinclair
251 Add Binding#eval batkins
195 built-in complex math discordantus

Rejected RCRs

See also the rejected RCRs from Ruby Garden.

Number Title Author
339 Partial Evaluation cyent
335 Sather-like iterators orenbenkiki
326 Add Method 'length' to REXML::Elements zdennis
325 Inherit Module Class Methods transami
319 Add a backslash operator for integer and matrix division. Olathe
317 klass.from_s(str) or more generally klass.from_*(...) eric_mahurin
312 Object#in? cardmagic
310 Tighter Support for Symbolic Parameters transami
308 Enumerable methods to select iterator other than 'each' bcandler
304 reference/pointer concept eric_mahurin
300 Blocks syntax sugar based on indented code blocks marian
299 Indented code blocks marian
295 Object#blank? why
290 Add warning for misspellings of 'initialize' flgr
288 Concat Block transami
285 Array#delete and Array#delete_at added functionality _ibz
283 add String#first and String#last neoneye
275 Allow instance variables as method parameters cyent
273 Enumerable#inject_with ummaycoc
266 until_eof Malte
262 more enumerator functionality Kristof Bastiaensen
257 String#concat should be String#concat! Evan Miller
246 Rename singleton.rb austin
237 named capture with assignment in regexp akr
230 'for' for multiple arrays mchase
229 Mixf-fix syntax, if-then-else etc. as methods, fewer keyword itsme213
223 require a directory mgarriss
208 Introduce freeze levels Phil Tomson
207 --freeze commandline option Phil Tomson
200 block range - signs daniel
184 Thread safe daniel
178 Add Enum type to Ruby Paul Brannan

Superseded RCRs

Number Title Author Superseded by
271 ignoring raise exceptions (supressing all errors) mig 272
264 Unifying dot (.) and colon (::) operators Malte 267
235 anArray.rekursive_index Icekiss 236
220 Automatic completion of Namespace rolo 221
214 Object#pretty ahoward 215
189 Publish/Subscribe Method Visibility minam 198
185 @@_classInstanceVar and @_restrictedInstanceVar coreywangler 186
182 Allow parens around a single target variable in multiple val coreywangler 183
181 Allow parens around a single target variable in multiple val coreywangler 182

Withdrawn RCRs

Number Title Author
334 Paramaterized assignment Isphor
327 true and false should be comparable with <=> tirsen
311 Array#unzip, inverse operation to Array#zip. cryo
303 nil should accept missing methods and return nil. (NullObjec cyent
274 Required Block Argument transami
269 Add Thread.atomic Robert
267 "original" keyword in method redefinition (like "super") tunah
263 Metaclass initialize method Zallus
253 Implicit binding from method def Zallus
248 'once' operator to evaluate an expression only once Eludias
247 Multi-class definition itsme213
243 Add a basic iterator method to Object dzsekijo
242 Add collect_flatten and collect_flatten! to Array NickJohnson
228 Uniform meta-access while parsing Ruby code itsme213
225 Named Return Arguments chemdog
224 temporary enabled global variable neoneye
221 Automatic completion of Namespace rolo
218 kind_of class'es neoneye
217 Make for..end return something useful grenzi
216 Provide private methods for changing a Time instance. RabYak
212 cat fileutil. cyent
210 event keyword for ruby sanatg
205 Put base64.rb methods under their own module djberg96
201 Method named with string *and* [ ] => def foo[](x) RabYak
199 add Object#identical? and change behaviour of Object#equal? coreywangler
193 built-in complex numbers discordantus
192 New variable declaration syntax in blocks grenzi
191 add TrueClass#not and FalseClass#not coreywangler
190 Disallow @classInstanceVar in class body coreywangler
187 Advanced Method Visibility minam
186 @@_@classInstanceVar and @_restrictedInstanceVar coreywangler
183 Allow parens around a single target variable in multiple val coreywangler
ruby picture

Powered by .