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/.