国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ruby - 透過二維數(shù)組產(chǎn)生類別繼承關(guān)係樹
PHP中文網(wǎng)
PHP中文網(wǎng) 2017-04-22 08:58:50
0
1
777

我最近在整理公司項(xiàng)目中的類繼承關(guān)係,使用 Ruby 抽取出了一個類及其父類的組合,類似
[[B,A], [C,A], [E,D], [F,B] ...]
其中 [B,A] 中 B 為子類,A為父類,根類不隻有一個,比如上例中的 A,D。我希望能能生成這些類的關(guān)係圖:

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

類似上述結(jié)構(gòu),或者能夠示意出類的繼承關(guān)係就行。語言最好是 Ruby,其他語言也可以。
各位有什麼好的思路或者現(xiàn)成的庫可以借鑒嗎?

PHP中文網(wǎng)
PHP中文網(wǎng)

認(rèn)證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]]

每行代表一個類別的子類別集合。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板