#Ruby# Introspect (1)

     Introspect,内省,是指从程序自身出发,审视程序各方面的能力。这个过程又称为Reflection,反射。

 

     孔子曰,吾日三省吾身。于人于程序,内省都是非常重要的。

 

1. Looking at objects

ObjectSpace.each_object([module]) {|obj| ... } -> fixnum

ObjectSpace.each_object([module])              -> an_enumerator

 

ObjectSpace::each_object : 

 

Calls the block once for each living, nonimmediate object in this Ruby process.(Immediate objects (Fixnums, Symbols true,false, and nil) are never returned. )

 

If module is specified, calls the block for only those classes or modules that match (or are a subclass of) module. Returns the number of objects found.

 

2. Looking inside objects

 

methods

respond_to?(symbol, include_private=false) Private methods are included in the search only if the optional second parameter evaluates to true.

kind_of? Returns true if class is the class of obj, or if class is one of the superclasses of obj or modules included in obj.
instance_of?



你可能感兴趣的:(Ruby,Introspect)