Benutzer:Oneup/Pastebin: Unterschied zwischen den Versionen

aus Metalab, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Wechseln zu: Navigation, Suche
 
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, 15: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"