Hi,
I need to load scripts dynamically.
Is there a way to know about what
classes were defined by loading a script?
If not, can the Ruby system be asked for a collection
of subclasses for a particular Class?
thx
Hi,
I need to load scripts dynamically.
Is there a way to know about what
classes were defined by loading a script?
If not, can the Ruby system be asked for a collection
of subclasses for a particular Class?
thx
Is there a way to know about what
classes were defined by loading a script?
see dynaload
http://rubyforge.org/frs/?group_id=1024&release_id=3786
http://codeforpeople.com/lib/ruby/dynaload/dynaload-0.0.0/README
is use it for the very same.
If not, can the Ruby system be asked for a collection of subclasses for a
particular Class?
harp:~ > cat a.rb
class C
class << self
def children() @children ||= end
def inherited(other) children << other and super end
def descendants() children.inject(){|d,c| d.push(c, *c.descendants)} end
end
end
load "b.rb"
p C::children
p C::descendants
p B::children
p B::descendants
harp:~ > cat b.rb
class B < C; end
class D < B; end
harp:~ > ruby a.rb
[B]
[B, D]
[D]
regards.
-a
On Wed, 15 Feb 2006, raving_ruby_rider wrote:
--
judge your success by what you had to give up in order to get it.
- h.h. the 14th dali lama
Is there a way to know about what
classes were defined by loading a script?
I've done something like this before:
sc, ec = ,
# => [, ]
ObjectSpace.each_object(Class) { |c| sc << c }
# => 471
require 'generator'
# => true
ObjectSpace.each_object(Class) { |c| ec << c }
# => 473
new_classes = ec - sc
# => [SyncEnumerator, Generator]
If not, can the Ruby system be asked for a collection
of subclasses for a particular Class?
See above (the argument to each_object).
On Wed, 2006-02-15 at 22:53 +0900, raving_ruby_rider wrote:
--
Ross Bamford - rosco@roscopeco.REMOVE.co.uk
There's also
http://raa.ruby-lang.org/project/script/
http://redshift.sourceforge.net/script/doc/index.html
ara.t.howard@noaa.gov wrote:
On Wed, 15 Feb 2006, raving_ruby_rider wrote:
Is there a way to know about what
classes were defined by loading a script?see dynaload
http://rubyforge.org/frs/?group_id=1024&release_id=3786
http://codeforpeople.com/lib/ruby/dynaload/dynaload-0.0.0/README
--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407
Ross Bamford wrote:
On Wed, 2006-02-15 at 22:53 +0900, raving_ruby_rider wrote:
Is there a way to know about what
classes were defined by loading a script?I've done something like this before:
sc, ec = ,
# => [, ]ObjectSpace.each_object(Class) { |c| sc << c }
# => 471
require 'generator'
# => true
ObjectSpace.each_object(Class) { |c| ec << c }
# => 473new_classes = ec - sc
# => [SyncEnumerator, Generator]If not, can the Ruby system be asked for a collection
of subclasses for a particular Class?See above (the argument to each_object).
Heh. If you make your terminal black and green and run this:
ObjectSpace.each_object(Object) { |o| puts o }
... you will see the truth of the Matrix.
-dave
thx 2 all.
i like the Script encapsulation
Dave Cantrell <ruby-talk@deadcantrant.com> writes:
Heh. If you make your terminal black and green and run this:
ObjectSpace.each_object(Object) { |o| puts o }
.. you will see the truth of the Matrix.
-dave
You get used to it. I don't even see the code. All I see is Symbol,
String, Array, ...
Cypher.
George Ogata wrote:
Dave Cantrell <ruby-talk@deadcantrant.com> writes:
> Heh. If you make your terminal black and green and run this:
>
> ObjectSpace.each_object(Object) { |o| puts o }
>
> .. you will see the truth of the Matrix.
>
> -daveYou get used to it. I don't even see the code. All I see is Symbol,
String, Array, ...
These show what gets mixed in from where:
http://www.insula.cz/dali/material/rubycl/