使用Ruby语言创建类别和子类别

4nkexdtk  于 9个月前  发布在  Ruby
关注(0)|答案(1)|浏览(72)

我一整天都在试着解决这个问题,但没有任何解决办法,所以你能帮我吗?以下是问题描述:该计划应该能够显示面包屑线索为一个给定的类别/子类别。例如:输入:公共关系产出:商业与金融>>广告与营销>>公共关系。
在这里,商业和金融是主要类别,广告和营销是它的子类别,公共关系是广告和营销的子类别。
我想用递归实现它,但我不太确定如何做到这一点。
谢谢吉米

webghufk

webghufk1#

假设它是普通的Ruby,你可以这样做:

class Category
  def initialize name, parent = nil
    @name = name 
    @parent = parent
  end

  def display
    @parent ? "#{@parent.display} >> #{@name}" : name
  end

  def name
    @name
  end
end

然后这样使用

1.9.2p320 :046 > c = Category.new "Parent"
 => #<Category:0x000001009c46d0 @name="Parent", @parent=nil> 
1.9.2p320 :047 > sub = Category.new "Sub", c
 => #<Category:0x000001009bf860 @name="Sub", @parent=#<Category:0x000001009c46d0 @name="Parent", @parent=nil>> 
1.9.2p320 :048 > sub.display
 => "Parent >> Sub"

相关问题