i'm currently learning Ruby. So, while learning about code blocks and\nyields i wanted to put my freshly acquired knowledge to the test and\n(just to see if i understood correctly) write my own simple each method\nfor Arrays. so i did:\n\nclass Array\ndef each\nfor x in self\nyield(x)\nend\nend\nend\n\nBut running it gives me SystemStackError: stack level too deep. It works\nfine when i rename it, so i guess it's just Ruby not appreciating my\nfine work or somehow making sure i don't introduce flagrant overwrites\nto built-in methods??? Anybody feels like enlightening me on how this\nworks? Thanks.