我整天都在尝试解决这个问题,但没有任何解决方案,所以你能帮帮我吗?这是问题描述:程序应该能够显示给定类别/子类别的面包屑轨迹。例如:输入:公共关系输出:商业与金融>>广告与营销>>公共关系。
这里商业与金融是主要类别,广告与营销是其子类别,公共关系是广告与营销的子类别。
我考虑过使用递归来实现它,但我不太确定该怎么做。
谢谢,吉米
假设它是普通的 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"