84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
我最近在整理公司项目中的类继承关系,使用 Ruby 抽取出了一个类及其父类的组合,类似[[B,A], [C,A], [E,D], [F,B] ...]其中[B,A]中 B 为子类,A为父类,根类不只有一个,比如上例中的 A,D。我希望能能生成这些类的关系图:
[[B,A], [C,A], [E,D], [F,B] ...]
[B,A]
[ A=>[ B=>[F], C ], D=>[E] ]
类似上述结构,或者能够示意出类的继承关系就行。语言最好是 Ruby,其他语言也可以。各位有什么好的思路或者现成的库可以借鉴吗?
认证0级讲师
先写个生成各个类下的子类。
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}}
输出:
[["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]]
每行代表一个类的子类集合。
先写个生成各个类下的子类。
输出:
每行代表一个类的子类集合。