|
发表于 2024-7-28 23:38:28
|
显示全部楼层
广东省汕头市
本帖最后由 1425113841 于 2024-7-28 23:54 编辑
我都在返回之前, 每次都执行一遍释放资源的操作, 代码重复率高的这种操作.没办法易语言不支持延迟调用某些操作, 还是golang好用. 建议转golang
变量名 | 类 型 | 静态 | 数组 | 备 注 | srcFilename | 文本型 | | | keywordsFilename | 文本型 | | | matchRetFilename | 文本型 | | | otherFilename | 文本型 | | | notInKeywordsFilename | 文本型 | | | srcFileHandle | 整数型 | | | keywordsFileHandle | 整数型 | | | matchRetFileHandle | 整数型 | | | otherFileHandle | 整数型 | | | notInKeywordsFileHandle | 整数型 | | | row | 文本型 | | | prefix | 文本型 | | | delimiter | 文本型 | | | isMatch | 逻辑型 | | | keyword | 文本型 | | | counter | 整数型 | | | startMS | 整数型 | | |
srcFilename = “1.txt”keywordsFilename = “1+.txt”matchRetFilename = “所谓的 提取结果.txt”otherFilename = “所谓的 剩余结果.txt”notInKeywordsFilename = “在数据中不被包含的关键词.txt”srcFileHandle = 打开文件 (srcFilename, #读入, )如果真 (srcFileHandle = 0 )返回 ()keywordsFileHandle = 打开文件 (keywordsFilename, #读入, )如果真 (keywordsFileHandle = 0 )关闭文件 (srcFileHandle )返回 ()matchRetFileHandle = 打开文件 (matchRetFilename, #重写, )如果真 (matchRetFileHandle = 0 )关闭文件 (srcFileHandle )关闭文件 (keywordsFileHandle )返回 ()otherFileHandle = 打开文件 (otherFilename, #重写, )如果真 (otherFileHandle = 0 )关闭文件 (srcFileHandle )关闭文件 (keywordsFileHandle )关闭文件 (matchRetFileHandle )返回 ()notInKeywordsFileHandle = 打开文件 (notInKeywordsFilename, #重写, )如果真 (notInKeywordsFileHandle = 0 )关闭文件 (srcFileHandle )关闭文件 (keywordsFileHandle )关闭文件 (matchRetFileHandle )关闭文件 (otherFileHandle )返回 ()delimiter = “----”startMS = 取启动时间 ()循环判断首 ()counter = counter + 1 row = 读入一行 (srcFileHandle )如果真 (取文本长度 (row ) = 0 )调试输出 (格式化文本 (“第 %d 行是空行”, counter )) 到循环尾 ()prefix = cutSuffix (row, delimiter)isMatch = 假 如果真 (移动读写位置 (keywordsFileHandle, #文件首, 0 ) = 假)跳出循环 ()循环判断首 ()keyword = 读入一行 (keywordsFileHandle )如果真 (取文本长度 (keyword ) = 0 )到循环尾 ()如果真 (keyword = prefix )isMatch = 真 跳出循环 ()循环判断尾 (是否在文件尾 (keywordsFileHandle, ) = 假)如果 (isMatch )写文本行 (matchRetFileHandle, row )写文本行 (otherFileHandle, row )循环判断尾 (是否在文件尾 (srcFileHandle, ) = 假)调试输出 (格式化文本 (“一共处理了 %d 行数据”, counter )) 关闭文件 (matchRetFileHandle )matchRetFileHandle = 打开文件 (matchRetFilename, #读入, )如果真 (matchRetFileHandle = 0 )关闭文件 (srcFileHandle )关闭文件 (keywordsFileHandle )关闭文件 (otherFileHandle )关闭文件 (notInKeywordsFileHandle )返回 ()如果 (移动读写位置 (keywordsFileHandle, #文件首, 0 )) 循环判断首 ()keyword = 读入一行 (keywordsFileHandle )如果真 (取文本长度 (keyword ) = 0 )到循环尾 ()isMatch = 假 如果真 (移到文件首 (matchRetFileHandle ) = 假)跳出循环 ()循环判断首 ()row = 读入一行 (matchRetFileHandle )如果真 (取文本长度 (row ) = 0 )到循环尾 ()prefix = cutSuffix (row, delimiter )如果真 (prefix = keyword )isMatch = 真 跳出循环 ()循环判断尾 (是否在文件尾 (matchRetFileHandle, ) = 假)如果真 (isMatch = 假)写文本行 (notInKeywordsFileHandle, keyword )循环判断尾 (是否在文件尾 (keywordsFileHandle, ) = 假)调试输出 (“移动文件首失败 keywordsFileHandle or matchRetFileHandle”)调试输出 (取启动时间 () - startMS)关闭文件 (srcFileHandle )关闭文件 (keywordsFileHandle )关闭文件 (matchRetFileHandle )关闭文件 (otherFileHandle )关闭文件 (notInKeywordsFileHandle )
|
|