作者VictorHsieh (风起鹰扬)
看板PttCurrent
标题Re: [请益] 锁文的功能
时间Mon Dec 20 21:44:44 2004
※ 引述《[email protected] (撄宁曌寂)》之铭言:
: ※ 引述《[email protected] (Q.Q)》之铭言:
: : 我大概把实作的方法写在这边, 有人需要可以参考看看
: : 首先看pttstruct.h
: : #define FILE_HIDE 0x20 /* hild */
: : #define FILE_BID 0x20 /* for bid */
: : #define FILE_BM 0x40 /* BM only */
: : #define FILE_MULTI 0x100 /* multi send for mail */
: : #define FILE_VOTE 0x40 /* for vote */
: : #define FILE_ANONYMOUS 0x80 /* anonymous file */
: 略略略...
: 不怕大胆点的话, 板内应优先应用 FILE_HIDE , 因为 FILE_BID 不是
: 必须的 (看站台而言) .
: FILE_VOTE 其实也不是必须如此处理的, 因为有 BOARD_VOTE 的存在,
: 不是 投票版, 就可以另作定义...
: 但这不是好方法, 因为一旦看板设定改变, 就会引起大混乱. 所以是
: 该 extend filemode, 才加新 function flag.
其实我之前有想到另一种概念
首先是以档案的特定 pattern 作分类
再为每一种分类制定 读、写 之类的动作
举个例子
一般的文章为 M.*
文摘里面的文章则是 G.*
目录是 DXXX
诸如此类
而因为每次要取某个档时是去 .DIR 里面找出指定笔纪录
再拿出档名来读写等等
而套用这一个概念的话
则可以为每一类档案 以 function pointer 的方式实作出读写等等的 operation
这样可以对不同的档案做统一的处理
同时也避免现在一大堆恶心的条件判断
(如 do_reply() 里面不只是回文章,还为了做"连署"的文章多了一层)
(再如 recommend() 本来是"推荐",後来又被拿来弄"竞标")
而当然锁文章用这种方式也是没问题的
其实我一开始会想到这个 是因为之前在想如果要玩 Unicode 要怎麽玩
我想到把 Unicode 的文章以 U.XXX 的档名存
之後就可以简单地把转换 encoding 做掉
但是後来一方面我觉得还得找多点人讨论一下细节
再加上没力气写这些东西
所以就没动了
趁这个机会 po 出来 也许会有些帮助
不管是对那一方面 :)
--
May the source be with you.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.244.208
※ 编辑: VictorHsieh 来自: 140.112.244.208 (12/20 21:45)