Maison > Questions et réponses > le corps du texte
我最近在整理公司项目中的类继承关系,使用 Ruby 抽取出了一个类及其父类的组合,类似[[B,A], [C,A], [E,D], [F,B] ...]
其中 [B,A]
中 B 为子类,A为父类,根类不只有一个,比如上例中的 A,D。我希望能能生成这些类的关系图:
[
A=>[
B=>[F],
C
],
D=>[E]
]
类似上述结构,或者能够示意出类的继承关系就行。语言最好是 Ruby,其他语言也可以。
各位有什么好的思路或者现成的库可以借鉴吗?
黄舟2017-04-22 09:00:50
Écrivez d’abord une méthode pour générer des sous-classes sous chaque classe.
a = [['B','A'], ['C','A'], ['E','D'], ['F','B'], ['G','E']]
b = ['A','B','C','D','E','F','G']
b.map{|e| a.map{|d| d[0] if d[-1] == e}}
Sortie :
[["B", "C", nil, nil, nil],
[nil, nil, nil, "F", nil],
[nil, nil, nil, nil, nil],
[nil, nil, "E", nil, nil],
[nil, nil, nil, nil, "G"],
[nil, nil, nil, nil, nil],
[nil, nil, nil, nil, nil]]
Chaque ligne représente une collection de sous-classes d'une classe.