Intentando hacer mi primera sumisión al proyecto ruby ​​en github – un nuevo método de instancia de class Array

Recientemente respondí una pregunta en este sitio ( Eliminar de Matriz y devolver elementos eliminados en Ruby ) tan bien en mi opinión que, mientras escribía, decidí intentar enviar una request de extracción de mi pequeño e ingenioso método que haría que ruby ​​solo un poco más increíble, creo.

Así que tengo algunas preguntas, la más apremiante es, ¿dónde está la class Array en el código fuente de Ruby? No puedo encontrarlo Si no está allí, ¿está en otro repository al que debería comprometerme? ¿O debería agregarlo en otro lugar en algún inicializador?

¿Dónde se agregan nuevos methods de matriz como #uniq y #drop ? Porque tengo uno nuevo. #exclude

Para decirlo de una manera, #exclude es #delete cuando #drop es #shift. Del mismo modo que #shift devuelve lo que se ha eliminado de la matriz, también lo hace #delete. #exclude se supone que es como #drop para #delete. Extremadamente simple. Parece que funciona bien.

 class Array def exclude(obj) x = self x.delete(obj) x end end 

También puedo agregar un #pop equivalente para #drop, #popdrop o #backdrop. Estoy abierto a sugerencias

 class Array def drop(n) #drop could have been implemented like this. x = self x.shift(n) x end def popdrop(n) x = self x.pop(n) x end end 

Se supone que debo estar trabajando ahora, así que no tengo mucho time para editar esta pregunta. Las modificaciones me permiten saber si necesito agregar más detalles a la pregunta, específicamente, simplemente no sé dónde ponerla. Ya he bifurcado el repository y estoy tratando de hacer un commit en github, lo cual puedes hacer ahora, pero no sé dónde poner el código, o incluso si realmente debería hacer una request de extracción en este punto (sandbox ?, IRC ?, etc.).

Ruby está codificado en el lenguaje C para el performance.
https://github.com/ruby/ruby/blob/trunk/array.c

Puede que sea mejor crear una gem o escribir un blog sobre ella.

De lo contrario, puede escribir su método de eliminación de matrices en C. Aquí está el método de eliminación real para ayudar.
https://github.com/ruby/ruby/blob/trunk/array.c#L2919