Zum Inhalt springen

Benutzer:Oneup/Pastebin: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Oneup (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Oneup (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
how to write attr_accessor :foo style stuff in ruby
how to write attr_accessor :foo style stuff in ruby


<pre><code>
<pre>
class Module
class Module
   def trace_attr(sym)
   def trace_attr(sym)
Zeile 20: Zeile 20:
end
end
Dog.new("Fido").name  # => Accessing name with value "Fido"
Dog.new("Fido").name  # => Accessing name with value "Fido"
</pre></code>
</pre>

Aktuelle Version vom 19. Mai 2008, 14:07 Uhr

how to write attr_accessor :foo style stuff in ruby

class Module
  def trace_attr(sym)
    self.module_eval %{
      def #{sym}
	printf "Accessing %s with value %s\n",
	  "#{sym}", @#{sym}.inspect
	@#{sym}
      end
    }
  end
end
class Dog
  trace_attr :name
  def initialize(string)
    @name = string
  end
end
Dog.new("Fido").name  # => Accessing name with value "Fido"