掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 834|回复: 11

[求助] 【更新】MDX里的循环引用问题

[复制链接]
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    发表于 2019-12-19 12:30:35 | 显示全部楼层 |阅读模式
    本帖最后由 jonah_w 于 2019-12-19 12:52 编辑 0 w0 g  ~, Y) V% N2 Y
    1 u, e% x+ b- G
    比如下面的情况,想实现的效果是:. `% r' H: H9 Q' k6 s0 n
    在查询A或者B的时候需要同时显示A和B两个词条的内容。
    0 \+ Q8 V2 v5 d5 y但下面的写法会导致循环引用,造成词典软件卡死(GoldenDict)甚至无法查询(MDict)
    6 ?' H; N" [; u8 g, S( K4 w$ T; z4 O2 K  x1 Z
    A8 t) w( w: `' _4 L7 U" ^6 Z7 P
    A content
    6 W4 Y! T4 d% q2 w</>
    0 i" v& |7 Y( w6 ?8 m5 ^3 h: D: mB. N$ T# _5 m2 ?4 V1 L7 R7 W2 i
    B content
    9 N) q6 R9 Y5 {3 ^4 Q5 o</>+ o( w& J) g. f5 Q6 H; h. z
    A
    * R$ \- _3 U2 x1 w@@@LINK=B
    7 m0 a: W" ?4 F) K</>
    ! D: v% N6 E3 x+ w! Y: LB
    % J( ^) @) g) m# N9 |@@@LINK=A" v  @$ Z3 ~3 R2 ?/ q
    </>
    % L% l$ H  Q% p
    $ B) x1 J% \. R9 O: V+ `不知道有没有人遇到过这种情况。
    % e5 i6 U/ J1 `& j, B1 j% \- U8 A! K1 l! _! ~  p2 ^$ _  ]
    我目前可以想到的解决方式有两个:
    * E/ X1 |; Y$ }0 E. s) G1.   g- k5 I# B! U7 H2 D* i
    2 r) U  O2 H9 A  t2 F! ]
    B
    8 @' H. @; @# ]@@@LINK=A
    - t: W9 h; [5 q0 P  X: m0 e</>
    + J: \" G8 k/ K5 \* n替换成" m# |/ ?- K4 M4 [$ v; n
    B
    # Q' P- D& V( E2 s, fSee also: <a href="entry://A">A</a>: ]* J* M' V3 P3 n; _) w3 @
    </>( e; R) ?! h7 w$ G" t( k% W
    , b% p9 o0 G3 G: m7 H- y) c9 P
    2.
      c+ T  K/ R9 |/ \# `5 S1 q/ C: \* U) X4 \
    整个替换成; m( y0 g$ [+ q' t( K, \
    A+B6 l1 l: G" M: @8 }
    A content  Z+ ~4 n' G& [+ W9 d: s0 t) ]( D$ k; a
    </>6 a! W* ~4 B- i% l# n. ~2 t: h
    A+B
    $ j/ e! ?+ j) B: W7 ZB content8 |- z+ `5 w, B) M2 Y6 a
    </>
    & T5 ^/ O' a: j% l1 L0 rA; e4 o/ d3 m  _7 e( d, M; h
    @@@LINK=A+B3 X! W# S' l; }8 ]' v, G! `
    </>- s+ b! F/ w/ Q% k
    B
    3 u3 U: J, ]0 y% c8 }" v) n+ n# |0 y@@@LINK=A+B
    . A; Y  f. G+ Q! t) `</>& O1 ~# S% u" v& f# z- x

    ( u( T3 c, R5 a) r! e+ x7 w9 t3 O第一种方式感觉不完美,需要点击超链接二次跳转;
    - W" X  B# r6 M* C$ D第二种方式实现起来不容易,容易造成数据紊乱。尤其是三个以上词头循环引用的话…. n, s- ]* N9 z

      |9 j( ~) t& o- T( G$ ]& ]不知道还有哪些巧妙的解决方法。" _9 c+ s. X  |" v* w2 M

    - X, L! m( s' m  S4 ^4 _
    2 Q/ F) V, ]9 b: _
    + m( Q: @" u$ a1 W  b7 f7 f- K& F; U# {: h0 y- u

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2022-1-21 00:52
  • 签到天数: 699 天

    [LV.9]以坛为家II

    发表于 2019-12-19 12:45:32 | 显示全部楼层
    老兄公开了一段Kill GoldenDict 代码,/ ^3 p& s  q1 l; C/ e! _5 x
    呼吁下一代mdx打包工具要加上查杀该代码的模块
    4 r. v/ g$ Q% q4 N, J$ b' D& N5 J
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-19 12:47:41 | 显示全部楼层
    cocowind 发表于 2019-12-19 12:45/ _, \" N) |8 W
    老兄公开了一段Kill GoldenDict 代码,% i% D, ^9 ]* Q% L
    呼吁下一代mdx打包工具要加上查杀该代码的模块
    0 \5 x' @" c# z3 y" r8 ^- S4 w- e ...

    & I! E- o2 X* [% X
    - w& R( [9 G) O, i9 c9 t$ C/ p查杀为辅,主要能解决问题最好了
    ( N9 P9 a; l5 h  C感觉这种需求是存在的…
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    发表于 2019-12-19 13:42:10 | 显示全部楼层
    这需要mdx字典格式标准的升级支持吧。
    6 B5 i, a% D! O: ^
    % S7 B8 _/ d1 E1 i' r4 [在Vim中有 noremap 等关键字抑制remap行为。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-19 13:44:12 | 显示全部楼层
    VimVim 发表于 2019-12-19 13:42
    + W( X; ?( _2 K9 H5 c- s这需要mdx字典格式标准的升级支持吧。
    0 v$ O  p# F7 {, s5 n% X0 f- D. }  n& |8 j; n
    在Vim中有 noremap 等关键字抑制remap行为。 ...
    / T7 m* Q. [' \0 e" U, t
    嗯 感觉应该升级支持下: U$ Y" ~3 Z- [' h/ P' m
    不过也想自己work around一下 $ B6 g# A) Y  D8 A& ?3 F+ o
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    发表于 2019-12-19 14:02:48 | 显示全部楼层
    最大的问题是mdx是闭源的,没有新的破解,我们只能永远停留在今天这个水平。stardict是开源的,但由于各种因素几近于死亡。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-19 14:07:14 | 显示全部楼层
    VimVim 发表于 2019-12-19 14:02
    ) V) C9 |7 V% X7 y0 {最大的问题是mdx是闭源的,没有新的破解,我们只能永远停留在今天这个水平。stardict是开源的,但由于各种 ...

    / A8 z- L0 L( n0 |6 I看来没有什么特效方法了& M' t; ^1 e  V% K* `  f
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    发表于 2019-12-19 14:09:09 | 显示全部楼层
    还有更多选择,需要有人指路,自己摸索太花时间了:https://www.pdawiki.com/forum/thread-37718-1-1.html
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-19 14:11:11 | 显示全部楼层
    VimVim 发表于 2019-12-19 14:095 \: |2 |# P. E* i4 d, V. O
    还有更多选择,需要有人指路,自己摸索太花时间了:https://www.pdawiki.com/forum/thread-37718-1-1.html ...
    2 K+ `6 o, k3 Q3 R* r
    其他格式词库 完全不想用

    该用户从未签到

    发表于 2019-12-19 19:18:23 | 显示全部楼层
    我碰见过,至于怎么解决,看词典里具体什么内容
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-19 20:30:58 | 显示全部楼层
    klwo2 发表于 2019-12-19 19:18
    ; G* p3 v+ i* w0 ?( F! A我碰见过,至于怎么解决,看词典里具体什么内容

    ! F: U0 p4 T- v8 t  L就是A LINK到B,B到C,C又LINK回A… 然后B LINK到A, A LINK到C 这种最复杂了 感觉无解…
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-19 23:43:47 | 显示全部楼层
    cuterhei 发表于 2019-12-19 22:47, C8 b) i* M5 v4 ?2 a% O7 Y
    给个不算复杂的例子,GD如实的按照mdx源码中的顺序来处理的,其它词典软件应该借鉴一下:
    0 |; i3 J3 H. |4 h4 R) Z7 H( N. Z5 n
    这种会有循环引用问题吗?: u2 I. l7 A+ s; y8 s+ G
    这种我还没测过# S3 e% b& g: H/ o
    是不是只有
    # I* j: A/ w: ab
    ( u) Y+ n7 w3 f@@@LINK=c
    & e) n) s* M9 Z- c3 p# I  O</>( V0 Y4 T( o% V
    c
    % \+ @. A% h5 a: u2 `@@@LINK=b" r! b% ~" A' Y: T# n9 O
    </>
    % N: e# N* j3 H5 z2 o6 l1 f* M4 D. a* X1 @" F7 y+ I3 c. L
    这种才有循环引用问题?
    . R$ E$ r; W$ Y6 {: I& l; X7 D9 \: _
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2024-4-29 15:32 , Processed in 0.044540 second(s), 9 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

    快速回复 返回顶部 返回列表