Hey, thanks for the rapid response guys. @Oliver & Phillip Thanks for the pointer towards the source codes. (and book recommendations are also appreciated) I guess that answers the part where the first methods / keywords come from to build upon in ruby. I mean I already guessed that part could only be answered by looking at the C code of Ruby itself. Now @Stu you seem to be onto what I was looking for with the other part of the original question. Even if the basic commands are embedded within the C of Ruby itself, aren't there already pre-defined (let's call them "2nd tier") methods based on Ruby code already within those superclasses? Like, assume for a moment that the rand method you defined as an example above really was an embedded function in Ruby that I didn't have to define before I can use it. (I assume it isn't, right?) Would there be any way that Ruby-Newbie-mme could come along, have a look inside the preprogrammed String class and see written there in Ruby language > def rand > self.split('').shuffle.join > end ... because that would enable me to go "Oh, sure! It splits the string, shuffles it, and joins it back together. Sounds easy!" even if, to find out what some of those "1st tier" methods like .split actually do, I'd have to go look at the C code. Now Stu, the part where you explained: > the eval family of methods for > meta-programming which include: > > >> Kernel.methods.grep(/eval/) > => [:eval, :module_eval, :class_eval, :instance_eval] > > There is also the define_method which is cleaner and is the ruby way > of dynamically generating methods. (i.e. with a block) > > define_method is a private method of the Module class > >> Module.private_methods.grep(/define_m/) > => [:define_method] > > ... I didn't understand a word of that... which probably means you are somewhat right that I might be looking for that :-) What would .grep(/eval/) do? What is an eval family? That returned array of symbols ... are those further methods? Thanks, -Konstantin -- Posted via http://www.ruby-forum.com/.