l'equivalente di private static in Ruby
Se volete contare tutti gli oggetti creati con una certa classe avete bisogno di un campo private static; in Ruby questo non esiste, ma una via molto elegante per farlo è questa:
[code]
class Counter
def initialize
@count = 0
end
def next
value = @count
@count += 1
return value
end
end
module Countable
def self.included(mod)
mod.instance_eval do
@counter = Counter.new
end
class << mod;
attr_reader :counter
end
end
end
class Counted
include Countable
def initialize
@count = self.class.counter.next
end
end
p Counted.new
p Counted.new
p Counted.new
[/code]
Ringrazio il canale #ruby-lang su irc.freenode.net per questa dritta




Commenti recenti
11 ore 57 min fa
1 giorno 19 ore fa
4 giorni 4 ore fa
6 giorni 1 ora fa
6 giorni 12 ore fa
1 settimana 11 min fa
1 settimana 1 giorno fa
1 settimana 1 giorno fa
1 settimana 1 giorno fa
1 settimana 1 giorno fa