1

我整天都在尝试解决这个问题,但没有任何解决方案,所以你能帮帮我吗?这是问题描述:程序应该能够显示给定类别/子类别的面包屑轨迹。例如:输入:公共关系输出:商业与金融>>广告与营销>>公共关系。

这里商业与金融是主要类别,广告与营销是其子类别,公共关系是广告与营销的子类别。

我考虑过使用递归来实现它,但我不太确定该怎么做。

谢谢,吉米

4

1 回答 1

0

假设它是普通的 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" 
于 2012-05-23T05:31:41.077 回答