主题:[讨论]Def function gosub sub四种语句的对比
QB小猪
[专家分:1200] 发布于 2008-01-16 16:43:00
谁能整理一下Def,function,gosub,sub四种语句的区别对比?
[em1][em2][em3][em4][em5][em6][em7][em8][em9][em10][em11][em12][em13][em14]
回复列表 (共6个回复)
沙发
春夏秋冬CXQD [专家分:140] 发布于 2008-01-16 18:43:00
它们最大的不同就是拼写不同
板凳
moz [专家分:37620] 发布于 2008-01-17 10:22:00
def 可以定义简单的系统级函数,函数名必须以FN开头,
Function 可以定义更多功能更详细的函数操作
gosub 只能调用同等级的行标号的代码,而且变量范围很有可能会引起误用等.
sub 子程是独立的一个功能模块,使结构化更明晰.
3 楼
def [专家分:3380] 发布于 2008-01-20 17:46:00
function name(参数) end function
函数和def fn相同,但在哪里都能用
name=算式 可以将一个结果调回上级程序
变量=name 可以接受函数掉回的值
exit function 可以中途退出,def,sub都可以
def有四种:
def fn???(pars)=算式 单行函数
def fn???(pars) end def 多行函数(用法同function)
def seg=&hxxxx 设置内存读写当前段
defxxx a-c a-c开头的变量默认为xxx(简写)类型,可以简化程序
都只能在定义后使用
sub和function用法相同,但无法获得数值
function和sub都可以有自己的私变量
gosub的用发:
gosub name 非常单薄的,也是最快的,所有上面的东西都没有!!!
.
.
.
name:
...
return
4 楼
def [专家分:3380] 发布于 2008-01-20 17:50:00
如果这个程序非常占CPU,建议最好用gosub/def
如果想写一个子程序集使自己能方便,或代码太多,那么使用function/sub最好
5 楼
QB小猪 [专家分:1200] 发布于 2008-01-24 15:44:00
有没有谁能谈谈它们的全局变量和局部变量的值的变化?多谢啦!
6 楼
我是大喊三 [专家分:3010] 发布于 2008-01-26 15:12:00
DFE FN 更贴切“数学函数”这个概念,类似COS,SIN这种,里面放不了几行代码,亦不好展开程序。
FUNCTION则已经是一种过程的概念了,里面你可以放任何东西,可以进行数学计算,统计,读文件,甚至是移动屏幕上的小方块(C语言里面就一律统称为函数,不管你啥子程序,过程什么的)。和SUB不同的是,它本身可以通过赋值返回一个值--其实如果你需要SUB返回值,也是可以做到的,而且也并不难。GOSUB纯粹就是BASIC还没诞生SUB语句时的一种汇编式的句式,如果你不需要与其配对的RETURN帮你自动返回调用点,那么用GOTO也是一样的。
我来回复