在Ruby中,如何将一个对象(类)作为另一个对象的参数

  • 本文关键字:一个对象 参数 Ruby ruby oop
  • 更新时间 :
  • 英文 :


我是Ruby的新手,所以我不确定自己做错了什么或违反了什么。

在我的例子中,我有两个类,DeliverablePillar

支柱对象可以包含一个或多个可交付成果。

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"

当我运行这个代码时,我得到了这个错误:

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>'

关于我做错了什么有什么建议吗?

您拼错了Pillar 的构造函数的名称

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

最新更新