掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 825|回复: 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 编辑 ( U- m- t' J8 X1 [
    ' H& e- G( w6 N; W
    比如下面的情况,想实现的效果是:' W/ J/ D& s5 Q" e# @/ g
    在查询A或者B的时候需要同时显示A和B两个词条的内容。
    / z1 W8 p( A6 f* `1 O3 ]但下面的写法会导致循环引用,造成词典软件卡死(GoldenDict)甚至无法查询(MDict)0 |3 ^/ u; f; U9 E

    * M$ [: p+ K* R+ D7 wA. }& q4 A1 |# }
    A content
    4 c2 q2 r/ ]/ y</>
    % ]! A% J% R! NB
    3 l8 L1 d/ x9 N4 Y! }2 j6 I( NB content; Y% T$ T$ w4 O; I: ^
    </>2 u( j  J; w$ H* O: u4 R, V, \
    A
    3 }& Y! F/ h! [% ^, H  b# B@@@LINK=B
    0 f* J" k, e' g3 d! G; G/ m) r</>
    5 e% W+ W8 t1 z8 T' u1 G0 RB
    % r4 j! f7 h! T@@@LINK=A
    $ R' j( D# R# Y+ B, o</>
    , h0 y# ~4 b# k4 T! H% l9 B4 d& E0 V" w" K4 G# m4 L8 f; V
    不知道有没有人遇到过这种情况。
    9 ]% m, W9 e; a4 U" t" n5 @# z! h( H$ ]
    我目前可以想到的解决方式有两个:
    % l0 m! k2 v3 y1 @1. . a% h2 n) ?  m' [& W' s4 k6 [
    8 R2 V7 j/ l' L
    B$ ^! @  Y9 e% m6 i, d
    @@@LINK=A
    " b4 \1 H- K/ ?: H</>
    . v# Q# V% z0 Z/ ^8 |- c: k( T  m替换成
    $ O6 X: b& f0 P, k4 G6 b1 r- SB# s: m- A: o! I- Y0 s* a; G
    See also: <a href="entry://A">A</a>( P) ?9 J% O- k* E: Q! m7 H
    </>) G+ R, O0 r4 B9 p  y3 h

      R: n9 U: j$ ]; |! X0 {4 k2.( D% h! M4 R( w# k3 d* [& ^0 q: U

    # ^+ U6 J% X1 Z+ Q1 B整个替换成& D* F$ X9 d8 y7 s
    A+B
    # `5 Y- v1 [* r; p. l( K  _A content
    & @& f+ A( Q( K, B& L</>( G2 s1 e8 l1 m: |: o& r
    A+B
    5 o, v# [& m4 R* BB content
    1 d: M) b3 B. B1 Z</>
    ' O: t/ \, T% y/ EA) e4 D5 j4 `5 S/ @
    @@@LINK=A+B! I9 j6 T7 \* W2 p( D
    </>
    , B0 B; l9 ~% L4 t% _6 z+ `B! e5 ~6 \. Z. B/ _
    @@@LINK=A+B( _% p4 l. E( V( ^9 I/ V
    </>- r: K/ |  g/ v& [8 A" |
    $ k6 t+ V. L, l7 S* g
    第一种方式感觉不完美,需要点击超链接二次跳转;6 i7 R1 U" S2 L/ L( K2 Z7 [; z
    第二种方式实现起来不容易,容易造成数据紊乱。尤其是三个以上词头循环引用的话…' Y$ I! @7 B8 _& P! k/ P5 ?

    6 o9 I1 k; N' U7 d- }3 e# C不知道还有哪些巧妙的解决方法。! T$ N" d7 I4 K( V

    " h% i" T1 x5 V9 w# T6 n" _+ X& b6 @, z5 y' a' C! z! K
    ' l; X, [1 `) X6 q: n" H

    3 K+ w; i  G- l( f" l

    评分

    1

    查看全部评分

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

    [LV.9]以坛为家II

    发表于 2019-12-19 12:45:32 | 显示全部楼层
    老兄公开了一段Kill GoldenDict 代码,6 }% ]/ o# g. @
    呼吁下一代mdx打包工具要加上查杀该代码的模块
    & n4 }  g3 \: Z6 E! k
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-19 12:47:41 | 显示全部楼层
    cocowind 发表于 2019-12-19 12:458 t- a6 P& J& y( M9 a) R4 O6 ]6 _" i
    老兄公开了一段Kill GoldenDict 代码,
    . E5 P, m; E  X9 C& n- p呼吁下一代mdx打包工具要加上查杀该代码的模块! S& y6 v/ j7 J/ ~( ~9 S6 ^" r4 a
    ...

    " ]2 B+ D: C! R( x" O
    2 M: R  o) u; Y1 X9 Z9 |# X+ Q; X! |查杀为辅,主要能解决问题最好了
    4 c, _7 Y! F" W3 u; P8 |+ c2 D; u) g感觉这种需求是存在的…
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    发表于 2019-12-19 13:42:10 | 显示全部楼层
    这需要mdx字典格式标准的升级支持吧。
    8 r6 M( |- v; n8 U$ @& O- ^
    , k+ I' T6 k/ W+ U在Vim中有 noremap 等关键字抑制remap行为。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-12-19 13:44:12 | 显示全部楼层
    VimVim 发表于 2019-12-19 13:425 _/ V! s( n5 V
    这需要mdx字典格式标准的升级支持吧。
    , ~1 Z4 u3 I$ d, f3 v6 X! ]% K# T- b3 d( q' r% i7 C" q
    在Vim中有 noremap 等关键字抑制remap行为。 ...

    ( S4 u  P# Q. p0 x6 D/ S嗯 感觉应该升级支持下; V4 a4 D1 [1 Q- S0 Q8 W
    不过也想自己work around一下 % u; o! R8 a/ n5 x6 Q- S3 r; F$ b! X. Z
  • 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:028 j; E3 ]; ?8 Y" [# ]
    最大的问题是mdx是闭源的,没有新的破解,我们只能永远停留在今天这个水平。stardict是开源的,但由于各种 ...

    - A( \% k" y4 }2 S0 F7 j看来没有什么特效方法了1 {) j5 ]  J7 m0 h7 v* D
  • 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
    $ ]2 B7 H& t# X  c还有更多选择,需要有人指路,自己摸索太花时间了:https://www.pdawiki.com/forum/thread-37718-1-1.html ...
    0 n3 }6 V, s, t% D8 L- 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" g: O/ V5 G) }& k2 Y! Y2 o. F
    我碰见过,至于怎么解决,看词典里具体什么内容

    3 C. M2 [6 Y5 q2 J6 L# W- F就是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
    0 E& O- J, `6 C7 S  {5 c) E  E给个不算复杂的例子,GD如实的按照mdx源码中的顺序来处理的,其它词典软件应该借鉴一下:

    7 t* @) P' _- I这种会有循环引用问题吗?
    3 }2 n: P  M  ?* ~# H  |& H8 [这种我还没测过" c+ c- z# D9 ~+ W4 F
    是不是只有
    ) h/ p' t1 j% g$ p0 W* A7 Z- `b
    + @$ `2 w' _2 B6 H@@@LINK=c
    7 F8 x: m: b1 |8 G. }" l</>
    ! J" p# P& g( t0 F; jc% F1 J: U# B; F
    @@@LINK=b
    3 U; K: Q  b# w& v</>4 {* L7 T; K! }+ t" E2 O  B

    & j3 i9 {% b( q! [& Y" b6 X% K这种才有循环引用问题?) }) i) [# ~* G( G" S
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-3-29 23:56 , Processed in 0.041288 second(s), 13 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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