[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 qzwqzw 于 2012-11-12 17:20 编辑

建议用固定的环境变量来做子函数返回值
比如bat_ret
或者使用子函数的标签名作为返回值变量名
如果“返回变量名为第一个实参名”
那么子函数在处理不定个数的参数数组时就会碰到麻烦
另外在标准化原有的函数时
如果实参已被挪作它用
处理起来也会碰到麻烦

另外需要考虑几个问题
1、子函数内的环境变量是否除了返回值变量全部setlocal
2、子函数内发生错误是否统一抛出处理?错误抛出后是在子程序中终止退出还是在主程序中?
3、子函数内是否需要一个指示程序自身路径的变量%0%,以解决用%0递归调用自身时的问题?
天的白色影子

TOP

回复  Demon


我没这么说,
    你是不是理解错了?
plp626 发表于 2012-11-11 11:57



    算我理解错了。

TOP

回复 5# Demon


我没这么说,
    你是不是理解错了?

TOP

仿照c语言结合批处理做个约定:

无论什么子过程必须有返回值,错误代码保存在全局变量bat_errno中

返 ...
plp626 发表于 2012-11-11 00:25


所有C标准库函数都会设置errno?

TOP

仿照c语言结合批处理做个约定:

无论什么子过程必须有返回值,错误代码保存在全局变量bat_errno中

返回变量名为第一个实参名

TOP

只要注释写得好,问题不大……

TOP

接口约定,涉及到全局变量约定(对使用者不可见); 讨论的问题很多。。。
SOS --- >> lllsoslll@163.com

TOP

返回列表