作者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)