On Thu, 4 Sep 2008 01:46:41 +0200
Rene Paulokat <[EMAIL PROTECTED]> wrote:

> hallo,
> eine kleine herausforderung - 

eine kleine loesung:
meth = %q{def bar(*args) puts "static function bar with args: #{args.inspect}" 
end}
eval(my_mod).module_eval(meth)

comments?

> nehmen wir an, ich möchte während der laufzeit einer Applikation ein Module 
> im Objectspace verankern:
> 
> # bspw. mit:
> class Foobar
> end
> my_mod = 'Foo'
> eval("module #{my_mod}; end")
> if defined?(Foo) # returns 'constant'
>   # dann möchte ich dem module etwas funktion beibringen:
>   eval(my_mod).send(:define_method, 'bar') { puts "static function 'bar' 
> called "}
>   # und letztlich der class Foobar ein paar statische methoden mittels my_mod 
> beibringen:
>   Foobar.extend(eval(my_mod))
> end
> # wie aber parametrisiere ich die zu definierende funktion?
> # also im sinne von :define_method, 'bar(*args)' ...
> 
> gruesse
> rene
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an