|
发表于 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 )
|
|