ruby - 通过二维数组生成类继承关系树
PHP中文网
PHP中文网 2017-04-22 08:58:50
0
1
617

我最近在整理公司项目中的类继承关系,使用 Ruby 抽取出了一个类及其父类的组合,类似
[[B,A], [C,A], [E,D], [F,B] ...]
其中[B,A]中 B 为子类,A为父类,根类不只有一个,比如上例中的 A,D。我希望能能生成这些类的关系图:

[ A=>[ B=>[F], C ], D=>[E] ]

类似上述结构,或者能够示意出类的继承关系就行。语言最好是 Ruby,其他语言也可以。
各位有什么好的思路或者现成的库可以借鉴吗?

PHP中文网
PHP中文网

认证0级讲师

모든 응답 (1)
黄舟

先写个生成各个类下的子类。

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]]

每行代表一个类的子类集合。

    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿
    회사 소개 부인 성명 Sitemap
    PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!