×2835908 >
> Exit code: 0
L’output # < S: 0×2835908 >
è un modo di Ruby di dire “una istanza di S”.
I metodi singleton sono metodi allegati ad un particolare oggetto e possono essere chiamati solo da un oggetto. Quando un metodo singleton è eseguito, sarà self, l’oggetto che possiede il metodo, ad operare, come è evidente da questo codice:
obj = Object.new
def obj.show
print ‘Sono un oggetto: ‘
puts “Ecco self all’interno del metodo singleton:”
puts self
end
obj.show
print ‘Controllo dell’oggetto dall’esterno, ‘
puts “per essere sicuri che sia lo stesso oggetto:”
puts obj
L’output prodotto è il seguente:
> ruby tmp.rb
Sono un oggetto: Ecco self all’interno del metodo singleton:
# < Object : 0×2835688 >
Controllo dell’oggetto dall’esterno, per essere sicuri che sia lo stesso oggetto:
# < Object : 0×2835688 >
> Exit code: 0
I metodi di classe sono definiti come metodi singoli, singleton method, per l’oggetto classe. Ecco un esempio.
class S
def S.x
puts “Metodo di classe della classe S”
puts self
end
end
S.x
L’output è:
> ruby tmp.rb
Metodo di classe della classe S
S
> Exit code:
Self all’interno di un metodo singleton (un metodo di classe, in questo caso) è l’oggetto a cui il metodo si riferisce.
LEZIONI PRECEDENTI:
29 Agosto 2007: Introduzione
30 Agosto 2007: I numeri
31 Agosto 2007: Le stringhe
3 Settembre 2007: Le variabili
5 Settembre 2007: Le conversioni
12 Settembre 2007: I metodi gets e chomp
17 Settembre 2007: Lo scopo delle variabili
19 Settembre 2007: I nomi
di Satish Talim - Programmazione.it