collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: getter and setter for class_variables  (Gelesen 1180 mal)

Offline Hanmac

  • true = false
  • Database-Verunstalter
  • **
  • Beiträge: 138
getter and setter for class_variables
« am: April 15, 2009, 23:06:54 »
hier ein snipplet zum fixen erstellen von methoden die auf klassen variablen zugreifen

Code: (1. version: with eval) [Auswählen]
class Module
 
 def akkr_reader(*args)
  args.each{ |sym| class_eval("def #{sym}; return @@#{sym}; end;") }
 end
 
 def akkr_writer(*args)
  args.each{ |sym| class_eval("def #(sym}=(value); return @@#{sym}=value; end;") }
 end
 def akkr_accessor(*args)
  akkr_reader(*args)
  akkr_writer(*args)
 end
end

Code: (2. version: without eval but with more evil) [Auswählen]
class Module
 
 def akkr_reader(*args)
  args.each{ |sym| define_method(sym) { Object.instance_method(:class).bind(self).call.send(:class_variable_get,"@@#{sym}") } }
 end
 
 def akkr_writer(*args)
   args.each{ |sym| define_method("#{sym}=") { |value| Object.instance_method(:class).bind(self).call.send(:class_variable_set,"@@#{sym}",value) } }
 end
 def akkr_accessor(*args)
  akkr_reader(*args)
  akkr_writer(*args)
 end
end

credit:
ich denke nicht das es credit würdig ist, aber könnt ihr ja trotzdem machen
"alles ist wahr, wenn wahr einen bestimmten Wert annimmt."

 


 Bild des Monats

rooftop party

Views: 3614
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal