掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 831|回复: 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 编辑
    4 {7 u" o* j: b7 i5 |$ L5 f6 D$ \# u- B& v" e& e6 F' b
    比如下面的情况,想实现的效果是:
    ' R" Z; K! s5 b0 J在查询A或者B的时候需要同时显示A和B两个词条的内容。
    7 n+ c' n8 G! v8 l) X# m& j但下面的写法会导致循环引用,造成词典软件卡死(GoldenDict)甚至无法查询(MDict)0 N+ F: o/ M3 M$ U

    0 G% ~* j5 T; L. UA
    7 ]: M* _" \" ~6 U/ `  Q, x0 MA content, y/ p7 _; S5 I2 N9 D6 X! Z; p* S
    </>0 W/ Z4 ?6 d) M( A0 t0 F3 y) j
    B
    & }3 S$ N; z/ h0 DB content
    + m7 P3 A# H! y& T' \) I</>4 p/ L7 f. B. Y8 o$ f
    A) J; m2 d. `! M( C4 @
    @@@LINK=B
    . Z1 j& t3 |7 D% ^</>0 U5 c9 P" B! c! ~  D6 G, f) A  _# G6 T
    B$ h. ~' O' B$ ]. d1 ]& g! W% L& Z3 k
    @@@LINK=A0 y3 }  }; R: Y1 G( N0 l- W/ t
    </>; G1 {# O# f2 _/ Y* F7 _" g% V

    7 X, m) ?9 q/ q/ ]  v. Q不知道有没有人遇到过这种情况。
    ( x4 _" B9 P9 {% ^  k! w- N6 L7 o. [7 i6 l: J4 g6 k
    我目前可以想到的解决方式有两个:
    9 }7 w9 I1 [/ [! ~' @+ ^1.
    - i6 d. u4 t" a. y
    ' a0 d6 J/ `  G( d5 M4 sB
    5 n- R$ f4 c, O@@@LINK=A
    0 l9 z9 j6 ^) c4 A! B' }+ E</>" `5 X# Y& U( l) V  ^8 k
    替换成
    6 o0 ?; X6 o$ n7 JB/ F  I% c7 j: ^& P9 u+ O1 C
    See also: <a href="entry://A">A</a>; V$ X; n( u( W# c
    </>
    0 D9 c9 ^: z8 R5 T( V
    - y) m% f, ^( @8 o% l2.: @/ S5 w( p: e/ v" y

    & z1 X8 K6 I$ C# x9 G& |6 x, a整个替换成. x: b: F, J8 E7 S- E0 x) V
    A+B
    0 x$ b3 e7 [; [$ wA content
      W# f" d- a  ~+ c" U: n' B</>
    * f  g8 T) X9 c" E- K! H- a8 kA+B; m6 U( O, U$ m4 g2 W- F- }1 _
    B content3 r; r( a$ v' V+ J- C& {
    </>
    ! i3 a; i6 d: T' ?A( a8 g" E; _( l
    @@@LINK=A+B
    5 o2 q8 b3 o; d6 R  B( b2 n3 j1 H1 _</>
    0 E# d) O3 M8 a7 V2 K# i' ?B
    3 |7 r( i$ n7 U+ M# y! ]@@@LINK=A+B+ H3 c! _( q7 l5 n6 n# K- m! a& v
    </>
    7 y8 }+ [: M5 K" m6 i
    8 r2 ?( E: M& D* o' K* J$ \8 Z/ D第一种方式感觉不完美,需要点击超链接二次跳转;! F. t( B/ ]! Q
    第二种方式实现起来不容易,容易造成数据紊乱。尤其是三个以上词头循环引用的话…
    7 v2 a5 R7 E& D0 Q5 Y2 y3 _4 p' L7 k' R5 @: b6 y
    不知道还有哪些巧妙的解决方法。* a/ z2 p+ o: X5 ~4 f) _+ S7 F

    2 i2 C7 ]! v% V( r
    # \* [1 q" j4 [3 h  W4 U) M+ h- G! a

    " Z' l' N' o/ G* o5 E( W" r

    评分

    1

    查看全部评分

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

    [LV.9]以坛为家II

    发表于 2019-12-19 12:45:32 | 显示全部楼层
    老兄公开了一段Kill GoldenDict 代码,5 e1 Z: V1 z- o
    呼吁下一代mdx打包工具要加上查杀该代码的模块
    2 p9 ?- R: X1 f$ T  D+ A
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-19 12:47:41 | 显示全部楼层
    cocowind 发表于 2019-12-19 12:45! Q, r0 X3 y$ e: @- f
    老兄公开了一段Kill GoldenDict 代码,
    $ P, v9 k  D& V* {呼吁下一代mdx打包工具要加上查杀该代码的模块
    2 ?" j( v  t$ { ...

      {7 n  x' p3 I$ Z* I7 U5 b7 _
    查杀为辅,主要能解决问题最好了
    # Q9 F3 b8 X/ o) T3 L感觉这种需求是存在的…
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    发表于 2019-12-19 13:42:10 | 显示全部楼层
    这需要mdx字典格式标准的升级支持吧。
    2 _7 f& @% H* n6 O- y; B
    ( k8 q7 W+ H- p5 i% t在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- y  H/ k% p' S9 ?1 T
    这需要mdx字典格式标准的升级支持吧。
      W% L6 Y8 I  g
    7 l9 q) B+ `; W6 g在Vim中有 noremap 等关键字抑制remap行为。 ...
    3 ?) F. o( |/ J$ N# y
    嗯 感觉应该升级支持下, d8 D+ [# V# n: r6 M. u
    不过也想自己work around一下
    & m* q, T5 m& n# r0 q: G2 ~- a5 W
  • 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& I8 y- @6 D0 j( Y. c
    最大的问题是mdx是闭源的,没有新的破解,我们只能永远停留在今天这个水平。stardict是开源的,但由于各种 ...

    & n$ y! Q2 }' R2 K1 p' i9 |' d看来没有什么特效方法了
    + j$ m4 h5 E  x: V8 V
  • 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:09
    / l# M& O7 n/ G/ B/ t还有更多选择,需要有人指路,自己摸索太花时间了:https://www.pdawiki.com/forum/thread-37718-1-1.html ...

    & n9 w& ]: ?$ o- H& T' |其他格式词库 完全不想用

    该用户从未签到

    发表于 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
    , E2 ~, `% t( z+ ^, k: o我碰见过,至于怎么解决,看词典里具体什么内容
    # F) k+ |) S; ]/ i7 V
    就是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:475 E. c/ r  |. e: ]. f- g
    给个不算复杂的例子,GD如实的按照mdx源码中的顺序来处理的,其它词典软件应该借鉴一下:
    ; C7 q" |" o' o6 o, j
    这种会有循环引用问题吗?
    ! t- c9 u* T2 |+ W6 e6 \7 k这种我还没测过
    - t) `% p8 Q% K- f* D2 I& g0 ?是不是只有
    . c% a) \) y, k& e& u3 rb
    # i$ g0 H9 d5 S- J@@@LINK=c9 W& m% b5 s$ y9 \( e
    </>
    ) a" F1 ~( n" B% c+ p& `6 jc
    # |: a& I! d  `! J# m& J@@@LINK=b
    # h( j# ?8 [7 \  c" x! H</>, L. N" v# s; b% |0 X+ T

    : f( `% ~- ~9 o8 s* F. e这种才有循环引用问题?
    ; v# p- R0 }9 v
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 09:00 , Processed in 0.087956 second(s), 9 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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