看板: BudaTech ◎ 佛典電子化討論    板主: HeavenChow
閱讀文章: 第 1155/2032 篇 | 上篇 | 下篇 | 回覆 | 轉寄 | 轉貼 | m H d | 返回
發信人: "羅雲" <kftseng@cc.nsysu.edu.tw>, 信區: BudaTech
標  題: Re: 檢索測試
發信站: (NEWS/INFO) National Sun Yat-San University (Fri Jan 16 16:05:31 1998)
轉信站: Lion!ccnews.nsysu!news.nsysu!not-for-mail
來  源: 140.117.250.25

Heaven <Heavenchow.bbs@buddha.cbs.ntu.edu.tw> 次寫入到主題
<0000Ql$Wyx@buddha.cbs.ntu.edu.tw>...
> ==> 於 邱大剛 (DavidChiou@Lion) 文中述及:
> :     然後再用一個嚴謹的函式,以 ascii 128 等原理,將這
> : 50 筆中真正完全符合的給挑出來(或許有 48 筆。)
> :     這樣子比起從頭到尾改成中文搜尋來得簡單許多。
> 和大剛討論後, 大概了解其所謂中文 filter , 的確是不錯的方法.
> 因為之前的作法, 必需要從頭判斷是否為中文, 也就是每一個字都要
> if asc(xx) > 128 then ..... 
> 這種判斷的確花時間.

	差不多只是把兩行程式順序巔倒而已.

	if (match) then
		if (asc(char) > 128) then
		endif
	endif

	if (asc(char) > 128) then
		if (match) then
		endif
	endif

	其實可以不要用 c 內建的 strchr/strstr/index 等,
	那些廣用的函式有時也是 delay 的原因, 況且若用
	的是 c 的話, 根本就可以用 if (char > 128) ....
	犯不著 asc(char) 去多轉一次 ascii 碼.

	甚至就直接合為一行了...

	你到鹿苑主機中的 bbs 程式中去找一個 match()
	的函式, 速度很快的... 我現在是離線寫信, 沒辦法
	查. 用 grep match *.c 應該就可以看到了.

	應該是在 Feeling-x/MAIL2BBS 目錄下吧? 找一下應該
	就可以找到了. good luck.


閱讀文章: 第 1155/2032 篇 | 上篇 | 下篇 | 回覆 | 轉寄 | 轉貼 | m H d | 返回

卍 台大獅子吼佛學專站  http://buddhaspace.org