🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.ruby
2 messages
2 total messages Started by Grzegorz Rumatowski Thu, 31 Aug 2006 14:12
Pytanie poczatkujacego
#177
Author: Grzegorz Rumatowski
Date: Thu, 31 Aug 2006 14:12
50 lines
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
#178
Author: valgonzarp
Date: Thu, 31 Aug 2006 16:27
33 lines
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