关于子函数的返回值
子函数的返回值,我有点不明白是怎么返回的比如我做一个读取几行数据并对数据进行一些操作的子函数,我需要返回操作完成的数据,应该怎么定义呢
还没入门,各种障碍,哪位大侠给个例子呗,就开头和结尾就行,我也体会下 返回值就是一个函数运行的最后结果,把这个结果用setq“回收”一下即可,比如你定义一个函数fun,函数有参数x,则调用函数fun时返回值用(setq y (fun x))即得到函数fun的返回值。
(defun c:main(/ a b c)
(setq a 1 b 2 c 3)
(setq addresult(sub_add a b c));调用子函数并将结果赋值给addresult
(setq decresult(sub_dec a b c));调用子函数并将结果赋值给decresult
(princ addresult)
(princ"\n")
(princ decresult)
(princ)
)
(defun sub_add(a b c);子函数1
(+ a b c);对abc求值后会返回最后结果
)
(defun sub_dec(x y z / result);子函数2
(setq result (- x y z));对xyz求值后会赋值给变量result
result ;执行变量 将返回该变量的值
) edata 发表于 2014-1-16 17:43 static/image/common/back.gif
谢谢!好好体会下 ll_j 发表于 2014-1-16 16:56 static/image/common/back.gif
返回值就是一个函数运行的最后结果,把这个结果用setq“回收”一下即可,比如你定义一个函数fun,函数有参数 ...
返回的就是子程序的最后一个运算值呗!是这样吧 赖赖旺 发表于 2014-1-17 09:25 static/image/common/back.gif
返回的就是子程序的最后一个运算值呗!是这样吧
正是。如(setq a 8 b 5)=>返回5 建议参考沙发上那位大大的“函数赋值与定义”那篇帖子! 对于特定的子函数,可以考虑直接处理主函数的参数,就不用管返回值了 edata 发表于 2014-1-16 17:43 static/image/common/back.gif
谢谢指点~!
页:
[1]