2016-04-05 16 views
-2

Rubyを初めて使用しているので、間違っているか違反しているのか正確にはわかりません。Rubyでオブジェクト(クラス)を別のオブジェクト(クラス)のパラメータにする方法

私の例では、2つのクラス、DeliverablePillarがあります。

ピラーオブジェクトには、1つ以上の成果物を含めることができます。

pillar.rb:46:in `initialize': wrong number of arguments (2 for 0) (ArgumentError) 
from pillar.rb:46:in `new' 
from pillar.rb:46:in `<main>' 

私が間違っているのかについての任意のアドバイス:私はこのコードを実行すると

class Deliverable 
    def initialize (name, state, pillar) 
    @name = name 
    @state = state 
    @pillarNumber = pillar 
    end 

    def getName 
    @name 
    end 

    def state 
    @state 
    end 

    def pillarNumber 
    @pillarNumber 
    end 
end 

class Pillar 
    def initalize (name, mine) 
    @name = name 
    @mine = mine 
    end 

    def getName 
    @name 
    end 

    def getDeliverable 
    @mine 
    end 

    def getDeliverableName 
    @mine.getName 
    end 
end 


aDel = Deliverable.new("Deliverable", 0, 1) 
puts "Deliverable Name: " + aDel.getName 

aPil = Pillar.new("Pillar", aDel) 
puts "Pillar Name: " + aPil.getName + "\n" 

私はこのエラーを取得しますか?

+4

のコンストラクタの名前をmispelled:' initalize'は – Doguita

+0

Iミススペルinitialize' 'でなければなりませんが、すべての時間を初期化します! :) – Kris

答えて

0

あなたはPillar` `にタイプミスがあるの柱

#  ⇓ NOTE MISSED “i” HERE 
def initialize (name, mine) 
+0

ありがとう、決してそれを選んだことはありません。 – TookieZA

関連する問題