看板: 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