[問題] 繼承失敗?
環境: Ruby 1.9.3 Ruby/SDL 2.1.1.1
狀況:
想要把SDL的Surface再包裝一層
於是使用了繼承
class Surface < SDL::Surface
def initialize(w,h,format)
super(SDL::SWSURFACE,w,h,format)
end
def self.flag
SDL::SWSURFACE
end
end
所以呼叫時就改成 surface=Surface.new(w,h,format)
沒想到錯誤提示卻跑出來
(應該是沒有繼承到?)
must be SDL::Surface.new(flags,w,h,surface) or
SDL::Surface.new(flags,w,h,depth,Rmask,Gmask,Bmask,Amask) (ArgumentError)
繼承的那一段本來是程式一開始就有
後來改到SDL初始化後也沒用
其他類別的繼承也沒這種問題
我也沒拼錯字啊...
(我其他的類別也有改建構子的參數 沒問題
這個就不行= =)
目前只好使用Surface.new(Surface.flag,w,h,format)
那個flag呼叫倒是很正確...
--
CPU: Athlon XP 1800+
RAM: DDR400 1GB+256MB
MB: A7S266U2-VM/U2
硬碟:IDE 40G*3
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.244.224
※ 編輯: AIGecko 來自: 118.167.244.224 (02/02 18:08)
推
02/04 07:49, , 1F
02/04 07:49, 1F
→
02/04 13:59, , 2F
02/04 13:59, 2F
→
02/04 14:01, , 3F
02/04 14:01, 3F
→
02/04 14:03, , 4F
02/04 14:03, 4F
※ 編輯: AIGecko 來自: 114.36.118.105 (02/04 14:29)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章