Thread View: pl.comp.lang.ruby
2 messages
2 total messages
Started by Grzegorz Rumatowski
Thu, 31 Aug 2006 14:12
Pytanie poczatkujacego
Author: Grzegorz Rumatowski
Date: Thu, 31 Aug 2006 14:12
Date: Thu, 31 Aug 2006 14:12
50 lines
1596 bytes
1596 bytes
Witam!
Zaczynam wlasnie swoja zabawe z rubym. Mozna powiedziec, ze jest to rowniez
poczatek zabawy w programowanie, bo ostatnio programowalem lata temu i
wszystko zapomnialem.
No wiec zrobilem sobie taki skrypcik:
class Vehicle
def initialize(t)
@type = t
end
def info
k = self.class
puts "Vehicle is a #{@type}"
puts "Class #{k}"
end
end
class Car < Vehicle
def accelerate(speed)
@s = speed
end
end
car = Car.new("car")
car.info
p car.superclass
No i ruby melduje przy ostatniej lini:
undefined method `superclass' for #<Car:0x2ae3380 @type="car">
(NoMethodError)
Nie za bardzo rozumiem dlaczego. Moze ktos tutaj potrafi to wyjasnic?
Tym bardziej oglupialem gdy prostszy przyklad zadzialal, jak oczekiwalem:
class Matka
end
class Dziecko < Matka
end
p Dziecko.superclass
Grzechu
--
Grzegorz Rumatowski
http://grzechu.blogspot.com/
31.08.2006 16:03:40
Re: Pytanie poczatkujacego
Author: valgonzarp
Date: Thu, 31 Aug 2006 16:27
Date: Thu, 31 Aug 2006 16:27
33 lines
1504 bytes
1504 bytes
On 2006-08-31, Grzegorz Rumatowski <grzechu@noname.com> wrote: > p car.superclass > No i ruby melduje przy ostatniej lini: > undefined method `superclass' for #<Car:0x2ae3380 @type="car"> > (NoMethodError) > Nie za bardzo rozumiem dlaczego. Moze ktos tutaj potrafi to wyjasnic? > Tym bardziej oglupialem gdy prostszy przyklad zadzialal, jak oczekiwalem: superclass nie jest metoda w instancji klasy Car (obiekcie car), tylko w klasie Car - sprobuj p car.class.superclass lub p Car.superclass > class Matka > end > class Dziecko < Matka > end > p Dziecko.superclass A to dziala, bo wolasz metode superclass dla klasy Dziecko, a nie dla instancji tej klasy. Analogicznie: bobas = Dziecko.new p bobas.superclass nie zadziala. -- regards, zarp
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads