[ruby-it] Accedere alle variabili di classe base
Paolo Montrasio
paolo a paolomontrasio.com
Gio 26 Mar 2009 10:13:37 CET
Alessandro Mazzone wrote:
> Salve,
> se ho una classe B che è ereditata da una classe E,supponiamo che @v è
> una variabile di classe della classe B,se voglio accedere ad essa dalla
> classe E come devo fare?devo usare self.v?
>
> Grazie
A dire il vero non lo so, ma provare non è difficile:
$ vi x
class B
attr_accessor :v
def initialize
@v = 0
end
end
class E < B
def v
self.v
end
end
e = E.new
puts e.v
$ ruby x
x:7:in `v': stack level too deep (SystemStackError)
from x:7:in `v'
from x:12
Quindi la risposta è no. self.v richiama ricorsivamente sè stesso.
Però cercando "ruby call base class" su Google il primo link ritornato
dà la soluzione, che è:
class E < B
def v
super
end
end
Paolo
--
Posted via http://www.ruby-forum.com/.
More information about the Ml
mailing list